0

我试图让我的 jquery scrollto 功能工作,它似乎没有任何缓动或动画。我认为因为我使用的是drupal,所以我的包装器都搞砸了,因为我在没有cms的情况下构建它并且它可以工作,然后当我将它添加到drupal主题和tpl.php文件时添加了很多不存在的包装器并且它破坏了脚本.

  $(document).ready(function() {

  $('#nav a').click(function() {
    var target = '#' + $(this).attr('class');
    $('body').scrollTo($(target), 500, {'axis':'y'});
    return false;
  });

});

那就是我正在使用的代码这是问题所在的链接?

片段链接 wrks 但我不认为 scrollto 正在寻找元素。

如果我能以任何方式澄清,请告诉我谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!

我认为我的 css 选择器可能是错误的?

4

3 回答 3

1

使用此包装函数而不是文档就绪函数。这让 drupal 知道您使用的是 jQuery 而不是其他一些 javascript 库。您链接到我们的网站有一个错误,指出 $ 不是函数。那是因为 jQuery 没有加载或者 Drupal 不知道它是 jQuery。

(function ($) {

   // Your Code

}(jQuery));
于 2012-06-21T19:22:38.653 回答
1

jsheffers 是对的。我也会使用 Drupal.behaviours..

https://drupal.stackexchange.com/questions/11756/better-understanding-of-behaviours-of-drupal-7

另外,我注意到您在 Drupal 加载的默认 jQuery 之上加载了 jQuery v1.7.1:

http://dept-art.com/sites/all/themes/adaptivetheme/at_core/scripts/jquery-1.js

这可能会导致问题。

于 2012-06-21T21:52:52.817 回答
0
$(document).ready(function() {
    $('#nav a').click(function(e) {
        e.preventDefault();
        var target = '#' + $(this).attr('class');
        $('body').scrollTo($(target), 500, {'axis':'y'});
    });
});
于 2012-06-21T22:12:03.940 回答