Jquery 滚动顶部滚动到适当的位置,然后返回顶部
我试图读取URL中的一个参数,使一堆Jquery 滚动顶部滚动到适当的位置,然后返回顶部,jquery,dom,scroll,Jquery,Dom,Scroll,我试图读取URL中的一个参数,使一堆显示:none内容淡入,然后向下滚动到内容中的适当点 一切都在运行,直到它向下滚动。它到达了正确的位置,然后莫名其妙地又跳到了页面的顶部。谁能告诉我怎么了 URL将类似于 HTML将包含一堆介绍内容,然后是大量带有类的文本块。story: <div class="screen story" id="block1" style="margin-bottom: 30px;"> <div class="container-text">
显示:none
内容淡入,然后向下滚动到内容中的适当点
一切都在运行,直到它向下滚动。它到达了正确的位置,然后莫名其妙地又跳到了页面的顶部。谁能告诉我怎么了
URL将类似于
HTML将包含一堆介绍内容,然后是大量带有类的文本块。story
:
<div class="screen story" id="block1" style="margin-bottom: 30px;">
<div class="container-text">
some stuff here
</div>
</div>
<div class="screen story" id="mypage" style="margin-bottom: 30px;">
<div class="container-text">
some more stuff here
</div>
</div>
同样,出现的是内容,向下滚动工作,然后跳回页面顶部 我怀疑这是因为没有取消“链接”。所以当你们点击你们网站上的链接时,它可以在javascript之后重新启动网站 因此,当您使用事件侦听器在单击链接时进行捕获,然后使用类似于
e.preventDefault()
或事件侦听器将返回false
的内容时。这就是在不触发链接的情况下模拟链接的方式
我可能错了,但是
其他原因可能是fadeIn()
和scrollTop:$(“#”+page).offset().top
,因此由于隐藏的元素,计算可能会出错。因此,偏移量将在不隐藏元素的情况下计算。我可以看到有延迟(800)
,但可能fadeIn
持续时间更长
对不起,我的英语很糟糕是什么触发了你的滚动代码?@Eldar-只要URL中有一个参数。有时候一个不是。谢谢你,索尼克!回答是什么?是的,我明白了。如果导致问题的原因不是取消链接,或者是
fadeIn()
//function to parse URL parameters
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
};
var page = getUrlParameter('page'); //get the parameter
if ((page !== "") && (page !== undefined) ){ //if the parameter exists and has a value
$(".story").fadeIn(); //fade in all the story blocks
$('html,body').delay( 800 ).animate({
scrollTop: $("#" + page).offset().top //scroll down to the block specified
}, 1000);
}