添加到cms主题后jquery scrollto无法正常工作

时间:2012-06-21 18:53:47

标签: jquery drupal-7

我试图让我的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选择器出错了?

3 个答案:

答案 0 :(得分:1)

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

(function ($) {

   // Your Code

}(jQuery));

答案 1 :(得分: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

这可能会导致问题。

答案 2 :(得分:0)

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