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:无法读取未定义的属性“顶部”

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 回答