Php $.Scroll无法在Chrome中工作

Php $.Scroll无法在Chrome中工作,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我制作了一个简单的WordPress网站,主题为OneEngine 这是一个演示链接: 有趣的是,在Chrome中,导航似乎不起作用 我已经确定了负责滚动的脚本片段 // SCROLL TO $('#main-menu-top a,ul.slicknav_nav li a').click(function(event){ event.stopPropagation(); event.preventDefault(); console.log('Click event')

我制作了一个简单的WordPress网站,主题为OneEngine

这是一个演示链接:

有趣的是,在Chrome中,导航似乎不起作用

我已经确定了负责滚动的脚本片段

// SCROLL TO
$('#main-menu-top a,ul.slicknav_nav li a').click(function(event){
    event.stopPropagation();
    event.preventDefault();

    console.log('Click event');

    if($(this).hasClass('active'))
        return;

    $('#main-menu-top a').removeClass('active').css('border-bottom-color', 'none');

    $('ul.slicknav_nav li a').removeClass('active');

    $(this).addClass('active');

    if(this.hash == "#home")
        $.scrollTo(0,800);
    else
        $.scrollTo( this.hash, 800, {offset:-$(".sticky-wrapper").height()});

    var bgcolor = $(this.hash).find('span.line-title').css('backgroundColor');

    $(this).css('border-bottom-color', bgcolor);

    $('.slicknav_nav').hide('normal', function() {

        $(this).addClass('slicknav_hidden');

    });

    $('a.slicknav_btn').removeClass('slicknav_open').addClass('slicknav_collapsed');

    return false;
});

$("a#scroll_to").click(function(event) {
    $.scrollTo("#header", 800);
});
我确信不起作用的部分是
$.scrollTo()。在Google中输入这个命令会产生
window.scrollTo
,所以我将每个实例都更改为
window.scrollTo()
,但这会产生没有偏移的跳跃锚

这一部分
offset:-$(“.sticky wrapper”).height()
我知道大致类似于:

var stickyWrapperHeight=$(“.StickyWrapper”).height()
(76像素)

我实际上找不到所描述的本地scrollTo方法,所以我认为它实际上可能是JQuery scrollTo-

我最大的问题是为什么这在Chrome中不起作用

我已经看到了如下潜在的替代方案:

$("a").on('click', function(event) {

        console.log($(".sticky-wrapper").height())

        var height = $(".sticky-wrapper").height();

    // Make sure this.hash has a value before overriding default behavior
    if (this.hash !== "") {
      // Prevent default anchor click behavior
      event.preventDefault();

      // Store hash
      var hash = this.hash;

      // Using jQuery's animate() method to add smooth page scroll
      // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 800, function(){

        // Add hash (#) to URL when done scrolling (default click behavior)
        window.location.hash = hash;
      });
    } // End if
  });

我只是使用了一个过时版本的
scrollTo()

即使他们的演示页面上有SSL问题,如果你不键入jQuery(),你得到的“$”不是一个函数。我注意到,即使您尝试在控制台中使用插件,它仍然不起作用

他们在主题中使用的scrollTo版本已经过时,并且已知在最新版本的chrome中不起作用:

用最新版本试试,应该可以用

否则,如果出于某种原因您无法更新插件,您可以使用以下方法使其正常工作:

jQuery('html,body').animate({scrollTop: jQuery("#skills").offset().top}, 'slow');

您的站点使用https,但您的favicon映像使用http,内容被阻止,因此请尝试将映像http更改为https。这一个“http://enginethemes.com/demo/oneengine/wp-content/uploads/2014/04/et-favicon.png检查chrome控制台。按ctrl+U查看页面源,并检查chrome中的标题链接。您可以从admin->theme customize更改此图像。我刚刚看到有关过时版本问题的帖子,非常感谢您的回复。我快发疯了,开始重建一切,然后看到了线…:/谢谢你的解决方案!改为ScrollV2.2,我的网站现在又可以正常工作了。