单击汉堡菜单时页面会跳起来

时间:2016-04-03 12:45:08

标签: javascript jquery zurb-foundation

我正在构建一个可以在此处看到的模板:http://www.alessandrosantese.com/aldemair-productions/

当您向下滚动并单击汉堡菜单以打开画布外菜单(基础6)时,页面会跳起来。

这是我的js so faR:

$(document).foundation();

$(document).ready(function(){
    function carouselInit() {
        if($('.single-project').length > 4 && !$('.slick-initialized').length) {
            $('.single-item').slick({
                responsive: [
                    {
                      breakpoint: 1024,
                      settings: 'unslick'
                    }]
            });
        }
        else {
            console.log('4');
        }
    }

    $('.hamburger').on('click', function(){
        if($('header').hasClass('fixed')){
            $('header').removeClass('fixed').addClass('absolute');
            $(this).toggleClass('open');
        }
        else {
            $('header').removeClass('absolute').addClass('fixed');
            $(this).toggleClass('open');
        }
    });

    carouselInit();

    var resizeId;
    $(window).resize(function() {
        clearTimeout(resizeId);
        resizeId = setTimeout(carouselInit, 500);
    });

});

点击汉堡图标时,所有页面都不应该跳起来。

1 个答案:

答案 0 :(得分:1)

这是使页面跳转的代码段:

 // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
  $(document).on('click.zf.trigger', '[data-toggle]', function () {
    triggers($(this), 'toggle');
  });

当您点击汉堡菜单时,它会触发' toggle.zf.trigger'在id' sth'上的元素上。这进一步涉及具有这段代码的open函数:

if (this.options.forceTop) {
     $('body').scrollTop(0);
 }

猜猜它是做什么的? :)我只能假设将OffCanvas forceTop选项设置为false将删除此行为。