Ответы пользователя по тегу JavaScript
  • Как по клику на кнопку открывать все элементы аккордеона?

    @AleksandrMarkup Автор вопроса
    Решил проблему следующим образом.

    $(document).ready(function() {
    
        var headers = $('.opener');
        var contentAreas = $('.slide').hide()
        .first().show().end();
        var expandLink = $('.show-all');
    
    headers.click(function() {
        // close all panels
        contentAreas.slideUp();
        // open the appropriate panel
        $(this).next().slideDown();
        // reset Expand all button
        expandLink.text('Показать все')
        .data('isAllOpen', false);
        // stop page scroll
        return false;
    });
    
    expandLink.click(function(){
        var isAllOpen = !$(this).data('isAllOpen');
        console.log({isAllOpen: isAllOpen, contentAreas: contentAreas})
        contentAreas[isAllOpen? 'slideDown': 'slideUp']();
        
        expandLink.text(isAllOpen? 'Скрыть все': 'Показать все')
        .data('isAllOpen', isAllOpen);    
    });
    
    });
    Ответ написан
    Комментировать
  • Как скрыть и показать кнопку по клику?

    @AleksandrMarkup Автор вопроса
    Ответ сам додумал.

    $(document).ready(function(){

    $('.enter-data').on('click', function(e){
    $(this).css({
    display: 'none'
    });
    var hidden = true;

    e.preventDefault();

    $(document).bind('click.myEvent', function(e){
    console.log($(e.target))
    if (!(hidden) && $(e.target) != $('.enter-data') && $(e.target).closest('#show-info').length == 0) {
    $('.enter-data').css({display: 'block'});
    $(document).unbind('click.myEvent');
    };

    hidden = false;
    })
    })
    });
    Ответ написан
    Комментировать