1

我正在使用 jQuery 通过淡出内容并在页面加载时将其淡入来进行页面转换,但我的问题是当我单击我的链接并调用我的点击函数并重定向它在页面顶部加载的页面时。有没有办法可以防止这种行为?这是我的页面转换的点击功能,在此先感谢您的帮助!

关联

<a href="../categories/categories.php"></a>

jQuery

$(".content").fadeIn(750);

$("a").click(function(event){
    event.preventDefault();
    linkLocation = this.href;
    $(".content").fadeOut(500, redirectPage);  
});

function redirectPage() {
    window.location = linkLocation;
}
4

2 回答 2

1

好的解决方案:使用历史 API 和 hashbangs 回退

糟糕的解决方案: 作为一个简单的技巧,您可以捕获当前滚动位置

    $(".content").fadeIn(750);
    var offset = window.location.href.match(/offset=(\d+)/)
    if(offset){
       $(document).scrollTop(offset[1])
    }
    $("a").click(function(event){
        event.preventDefault();
        linkLocation = this.href + "?offset="+$(document).scrollTop();//pay 
//special attentions to this line will work only for a link without get parameters. 
        $(".content").fadeOut(500, redirectPage);  
    });

    function redirectPage() {
        window.location = linkLocation;
    }
于 2013-05-14T06:59:05.390 回答
0
event.preventDefault();
linkLocation = this.href;

感谢团队,请在点击功能启动后将其放在上面两行,这将帮助您关闭滚动。

于 2019-08-09T19:46:44.367 回答