0

正解が見つかりませんでした。ページを開いてから、呼び出したページにスクロールしてアニメーション化したいと思いますID

これが私のコードです。

JQuery

   $(window).bind("load", function () {
              var urlHash = window.location.href.split("#")[1];
                $('html,body').animate({ scrollTop: $('a[href="#' + urlHash + '"]').offset().top}, 1000);
    }); 

HTML

<div class="space"></div>
<div id="anchor">This is anchor</div>

CSS

.space{height:800px;}
#anchor{font-size:25px;height:800px;}

その後、jQueryが機能しないため、次のコードをコンソールに貼り付けました

 $('html,body').animate({ scrollTop: $('a[href="#' + anchor+ '"]').offset().top}, 1000);

エラーは言う

TypeError: 未定義のプロパティ 'top' を読み取れません

http://jsfiddle.net/4mjmw/1/

このエラーを解決するにはどうすればよいですか? ありがとう

4

1 に答える 1

3

このコードは動作します: http://jsfiddle.net/4mjmw/4/

デモ: http://jsfiddle.net/4mjmw/4/show/#abc

アンカーに href を追加し、スクリプトを HTML に移動しました。

$(window).bind("load", function () {
          var urlHash = window.location.href.split("#")[1];
            $('html,body').animate({ scrollTop: $('a[href="#' + urlHash + '"]').offset().top}, 1000);
      });
于 2012-11-01T08:53:12.457 に答える