0

jquery scrollto 関数を機能させようとしていますが、イージングやアニメーションがないようです。私はdrupalを使用しているため、ラッパーがすべて台無しになっていると思います.cmsなしでビルドし、それが機能し、テーマとtpl.phpファイルに追加すると、そこになかった多くのラッパーが追加され、スクリプトが壊れました.

  $(document).ready(function() {

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

});

それは私が使用しているコードです。ここに問題のあるリンクがありますか?

フラグメントリンクはうまくいきますが、scrolltoが要素を見つけているとは思いません。

何らかの方法で明確にできるかどうか教えてくださいありがとう!!!!!!!!!!!!!!!!!!!!!!!!!!

私のcssセレクターはおそらく間違っていると思いますか?

4

3 に答える 3

1

ドキュメントレディ関数の代わりに、このラッパー関数を使用してください。これにより、drupalは、他のjavascriptライブラリではなくjQueryを使用していることを認識できます。リンク先のサイトに、$が関数ではないというエラーがあります。これは、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 に答える