【问题标题】:jquery scrollto not working after added to cms theme [closed]添加到cms主题后jquery scrollto不工作[关闭]
【发布时间】:2012-06-21 18:53:47
【问题描述】:

我正在尝试让我的 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;
  });

});

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

片段链接会出错,但我认为 scrollto 没有找到元素。

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

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

【问题讨论】:

    标签: jquery drupal-7


    【解决方案1】:

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

    (function ($) {
    
       // Your Code
    
    }(jQuery));
    

    【讨论】:

    • 很酷,谢谢,我忘了改变了
    • 如果这对您有用,请将其标记为答案。谢谢
    【解决方案2】:

    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

    这可能会导致问题。

    【讨论】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2015-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多