1

我正在尝试实现我在 stackoverflow 上找到的一些 JavaScript 代码以使用标准在页面上的一个链接和其他页面中的其他部分之间进行平滑过渡:

<a href="example.html#anchor">

问题是当用户单击链接时,在平滑滚动之前会出现 1 秒的白色闪烁。我不喜欢“用户体验”的这种行为

我该如何防止这种情况?

JavaScript:

 (function($){

        var jump=function(e)
        {
           if (e){
               e.preventDefault();
               var target = $(this).attr("href");
           }else{
               var target = location.hash;
           }

           $('html,body').animate(
           {
               scrollTop: $(target).offset().top
           },1000, function()
           {
               location.hash = target;
           });

        }

        $('html, body').hide()

        $(document).ready(function()
        {
            $('a[href^=#]').bind("click", jump);

            if (location.hash){
                setTimeout(function(){
                    $('html, body').scrollTop(0).show()
                    jump()
                }, 0);
            }else{
              $('html, body').show()
            }
        });
    })(jQuery) 

谢谢。

4

0 回答 0