将(div id as).hash设置为url而不跳转页面

时间:2015-10-19 20:24:41

标签: javascript jquery css hash

我找到了一个jquery片段,将divs id设置为.hash到url,现在有以下问题:

当我向下滚动页面时,一切正常,但是当我从下往上滚动时页面正在跳跃(因为带#的div设置为顶部而没有任何过渡)

我想要的是可以滚动页面而不跳转但仍然添加哈希?

$(document).bind('scroll',function(e){
    $('iframe').each(function(){
        if (
            $(this).offset().top < window.pageYOffset + 10

            && $(this).offset().top + $(this).height() > window.pageYOffset + 10
        ) {
            window.location.hash = $(this).attr('id');
        }
    });
});
.hashdiv{
  width: 100vw;
  height: 40vw;
  margin-bottom: 2vh;
  background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>



<iframe id="hashone" class="hashdiv"></iframe>

<iframe id="hashtwo" class="hashdiv"></iframe>

<iframe id="hashthree" class="hashdiv"></iframe>

<iframe id="hashfour" class="hashdiv"></iframe>

0 个答案:

没有答案