Jquery 滚动顶部滚动到适当的位置,然后返回顶部

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">

我试图读取URL中的一个参数,使一堆
显示: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);

        }