我有一个网站,我有以下脚本用于处理所有链接:
$(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
答案 0 :(得分:2)
我已经完成了您的代码,几乎是正确的,您只需更改点击功能中的内容,因为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>
我希望这对你有用..
答案 1 :(得分:2)
您应首先使用 indexOf()方法检查您的网址是否包含要检查的子字符串。如果它包含该字符/子字符串,那么它将返回任何 0 或正值。否则它将返回 -1 。
尝试这种方式:
HTML:
<a href="www.google.com">ToogleFade</a>
jQuery:
$(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;
}
});
资源:
答案 2 :(得分:2)
我发现答案是设置z-index。我有一堆绝对定位的div,并希望在它们之间淡出。我可以让IE8很好地处理淡入淡出的唯一方法是将元素的z-index设置为高于要淡化的元素。
$('#fadeoutdiv').css({zIndex:99}).fadeOut(2000);
$('#fadeindiv').css({zIndex:90}).fadeOut(2000);
和重定向检查Link Stackoverflow