-1

我想在我的 Wordpress 网站(Agera 模板)的小提琴中实现这个代码。但是代码返回错误:

TypeError:对象 [object Object] 的属性“$”不是函数

所以我将我的代码更改为这个(将 $ 切换为 jQuery):

jQuery('a[href^="#"]').click(function(){
jQuery('body').animate({
    scrollTop: jQuery(jQuery(this).attr('href')).offset().top - 30
}, 500);
});

不工作。

我也尝试过(也将 $ 更改为 jQuery,都尝试了):

jQuery(document).ready(function() {
$('a[href^="#"]').click(function(){
    $('body').animate({
        scrollTop: $($(this).attr('href')).offset().top - 30
    }, 4000);
});
});

不工作。如果我尝试成功实现 jQuery 的代码,它可以正常工作,就像页面上的所有其他 jQuery 一样。

可能是什么问题呢?html 标记是正确的。谢谢。

4

4 回答 4

1

您只需要return false在这样的末尾添加一个click method

$('a[href^="#"]').click(function(){
    $('body').animate({
        scrollTop: $($(this).attr('href')).offset().top
    }, 500);
    return false;
});

当然,在加载 jQuery 之前......你可以看看这个小提琴:http: //jsfiddle.net/WxJLx/29/

于 2013-07-22T11:33:17.747 回答
0

如果您使用的是旧版本的 jquery 1.4.2,那么您使用的是哪个版本的 jQuery,像这样添加

jQuery.noConflict();

于 2013-07-22T11:35:48.977 回答
0

尝试这个:

jQuery(document).ready(function($) {
    $('a[href^="#"]').click(function(){
        $('body').animate({
            scrollTop: $($(this).attr('href')).offset().top - 30
        }, 4000);
    });  
});
于 2013-07-22T11:37:48.683 回答
0

这个问题似乎与您的其他问题非常相似。

所以请准确告诉我们您想了解的内容

  1. 您想了解动画的工作原理吗?然后请看这个动画示例并要求更多解释
  2. 您的代码在 plnkr.co 上的这个演示中有效- 所以很难说出它为什么不适合您。请提供更多详细信息,为什么您认为它不起作用。
  3. 您是否希望我们在您的 Wordpress 网站(Agera 模板)中找到错误的原因,TypeError: Property '$' of object [object Object] is not a function然后获得更多信息甚至更好地链接到不起作用的页面会很有帮助。

关于第 2 点的代码

我稍微修改了你的代码:

jQuery(function($)
{       
      $('a[href^="#"]').click(function(){
          $('body').animate({
              scrollTop: $($(this).attr('href')).offset().top -20
          }, 500);
          return false;
      });    
});

如上所述,请参阅plnkr.co 上的演示

关于第 3 点

关于 TypeError: Property '$' of object [object Object] is not a function您遇到的错误消息 -这些答案可能会有所帮助,甚至更多这个提到 wordpress

请帮助我们帮助您

很抱歉提出以下问题,但不知道您知道多少很难提供帮助

于 2013-07-23T18:59:03.283 回答