试图让页面滚动到一个锚点,但我得到了这个错误。
无法读取未定义的属性'top‘
现在我的JS如下所示...
//scroll to section process page
function scrollToAnchor(aid){
var aTag = $("div[name='"+ aid +"']");
$('html,body').animate({scrollTop: aTag.offset().top},'slow');
}
$("li.menu-item-141 a").click(function() {
scrollToAnchor('#philosophy-page');
});这是我的HTML...
<div class="container">
<div name="philosophy-page" id="philosophy-page">
<div class="philosophy-heading">
<h1>Philosophy</h1>
</div><!-- /.philosophy-heading -->
</div><!-- /#philosophy-page -->
</div><!-- /.container -->任何帮助都是最好的!
谢谢!
发布于 2013-04-10 00:48:41
替换
scrollToAnchor('#philosophy-page');通过
scrollToAnchor('philosophy-page');记住,您使用name来查找a元素:
var aTag = $("div[name='"+ aid +"']");jQuery找不到名为#philosophy-page的元素
发布于 2016-05-18 18:59:00
$(function() {
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});最好的滚动到我找到的地方。在CSS Tricks上找到的:https://css-tricks.com/snippets/jquery/smooth-scrolling/
发布于 2013-04-10 00:48:36
传递id时不带#,因为它的名字不是#。
变化
scrollToAnchor('#philosophy-page');至
scrollToAnchor('philosophy-page');https://stackoverflow.com/questions/15907770
复制相似问题