jquery淡出并重定向在IE中不起作用

jquery fade out and redirect not working in IE

本文关键字:IE 不起作用 重定向 淡出 jquery      更新时间:2023-09-26

我有一个网站,我有以下脚本旨在处理所有链接:

$(document).ready(function(){
$("body").css("display","none");
$("body").fadeIn(2000);
$("a").click(function(event){event.preventDefault();
linkLocation=this.href;
if(!linkLocation.contains("#")){$("body").fadeOut(1000,redirectPage);
}});
function redirectPage(){
window.location=linkLocation;}})

它应该做的是,当单击链接以淡出然后重新淡入时。

我面临的问题是,在IE中,链接根本不起作用。

是否可以编辑我的代码以使其正常工作?

如果没有,有没有办法在此问题期间使用回退代码?

此问题在 chrome 中不存在,我使用的是最新的 IE

您应该首先检查您的 url 是否包含要使用 indexOf() 方法检查的子字符串。如果它包含该字符/子字符串,则它将返回任何 0正值。否则它将返回 -1

试试这种方式:

.HTML:

<a href="www.google.com">ToogleFade</a>

j查询 :

$(document).ready(function(){
    $("body").css("display", "none");
    $("body").fadeIn(2000);
    $("a").on("click", function(e){
        linkLocation = $(this).attr("href");
        e.preventDefault();
        if(linkLocation.indexOf('#') == -1){
            $("body").fadeOut(3000, redirectPage);
        }
    });
    function redirectPage()
    {
       window.location=linkLocation;
    }
});

js小提琴

资源:

indexOf()

我发现答案是设置 z 索引。我有一堆绝对定位的div,想在它们之间淡入淡出。我能让 IE8 很好地处理淡入淡出的唯一方法是将要淡入的元素的 z 索引设置为高于要淡出的元素。

$('#fadeoutdiv').css({zIndex:99}).fadeOut(2000);
$('#fadeindiv').css({zIndex:90}).fadeOut(2000);

和重定向检查链路堆栈溢出

我已经浏览了您的代码,它几乎是正确的,您只需要在单击函数中更改某些内容,因为preventDefault(); <a></a>标签的默认功能产生问题...另外,单击"允许在IE中询问您时阻止内容"。

相反,请尝试这个:-

<script>
$(document).ready(function(){
   $("body").css("display","none");
   $("body").fadeIn(2000);
   $("a").click(function() {
      linkLocation=this.href;
      if(!linkLocation.contains("#"))
      {
          $("body").fadeOut(1000,redirectPage);
      }
});
     function redirectPage()
     {
       window.location=linkLocation;
     }
});
</script>

我希望这对你有用..