SmoothScroll在WordPress中不工作

时间:2014-11-29 作者:Adrian

我被要求建立一个HTML网站,并从中开发一个Wordpress主题。该网站使用SmoothScroll,因此当单击页脚中的按钮时,它会很好地滚动到页面顶部。除了现在是在Wordpress中,我单击按钮,它只是在siteurl重新加载页面。com/#关于

中的jquery。js include(以及smoothscroll.js include)是:

$(function() {
        \'use strict\';

        $(\'.scroll\').bind(\'click\', function(event) {
            var $anchor = $(this);
            var headerH = $(\'#navigation\').outerHeight();
            $(\'html, body\').stop().animate({
                scrollTop : $($anchor.attr(\'href\')).offset().top - headerH + "px"
            }, 1200, \'easeInOutExpo\');

            event.preventDefault();
        });
    });
我把它改成了非冲突的,或者你管它叫什么:

jQuery(document).ready(function( $ ) {
$(function() {
        \'use strict\';

        $(\'.scroll\').bind(\'click\', function(event) {
            var $anchor = $(this);
            var headerH = $(\'#navigation\').outerHeight();
            $(\'html, body\').stop().animate({
                scrollTop : $($anchor.attr(\'href\')).offset().top - headerH + "px"
            }, 1200, \'easeInOutExpo\');

            event.preventDefault();
        });
    });
});
还有一些其他jquery效果不起作用,但jquery起作用了,因为有些东西是,例如切换到显示地图等。。

有什么建议吗?这可能只是加载URL的方式,中间有斜杠吗?

谢谢

1 个回复
最合适的回答,由SO网友:Adrian 整理而成

多亏了CSS技巧,我将网站附带的现有SmoothScroll代码改为以下代码:

$(function() {
  $(\'a[href*=#]:not([href=#])\').click(function() {
    if (location.pathname.replace(/^\\//,\'\') == this.pathname.replace(/^\\//,\'\') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $(\'[name=\' + this.hash.slice(1) +\']\');
      if (target.length) {
        $(\'html,body\').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});

结束

相关推荐

来自jQuery AJAX的WP API删除请求

我正在使用rest json API插件http://wp-api.org/ 创建一个小应用程序。我试图用jquery ajax删除一个自定义的帖子条目,但缺少一些东西,下面是我的代码:... //make the request var dataArray = {}; var urlRequest = WP_API_Settings.root+\"/posts/\"+postID; var typeRequest = \'D