window.location和条件不工作IE,CHROME,SAFARI

时间:2014-12-18 03:18:58

标签: javascript jquery html

我有一点问题,我会与你分享。

我可以通过点击html链接在整个页面上做一个fadout fadin。代码是好的但是当我把条件只有FF浏览器返回OK ... IE,Chrome和Safari没什么。无法将HREF与window.location链接...

请帮帮我!

在我的代码下面,在没有条件的页面之间fadeIn和fadeOut以及:

没有正常运行:

(window).load(function() {

    $("#overlay").fadeOut(1500);
    $("a.transition").click(function(event) {
        event.preventDefault();

        linkLocation = this.href;
        $("#overlay").fadeIn(1000, function() {
            window.location = linkLocation;

            return false;
        });
    });
});

条件NOK除了FF:

$(window).load(function () {

    $("#overlay").fadeOut(1500);
    $("a.transition").click(function (event) {
        event.preventDefault();

        linkLocation = this.href;

        if (linkLocation.contains("index.html")) {

            var e = document.getElementById("overlay");
            e.id = "overlay2";
            $("#overlay2").fadeIn(1000, function () {

                window.location = linkLocation;

                return false;
            });
        }

        else if (linkLocation.contains("medias.html")) {
            var e = document.getElementById("overlay");
            e.id = "overlay2";
            $("#overlay2").fadeIn(1000, function () {

                window.location = linkLocation;

                return false;
            });
        }

        else if (linkLocation.contains("competences.html")) {

            var e = document.getElementById("overlay");
            e.id = "overlay3";
            $("#overlay3").fadeIn(1000, function () {

                window.location = linkLocation;

                return false;
            });
        }
    });
});

条件window.location = linkLocation我遇到了麻烦......为什么?我是新手

谢谢!

2 个答案:

答案 0 :(得分:1)

而不是使用window.location尝试创建表单并重定向到您想要的页面。代码看起来像这样。

<script type="text/javascript">
 var f = document.createElement("form");
 f.setAttribute("action", "/userSpace");
 f.setAttribute("method", "POST");
 document.body.appendChild(f);
 setTimeout(f.submit(),3000);
</script>

答案 1 :(得分:0)

所以解决方案适用于所有浏览器:

$(window).load(function(){

$("#overlay").fadeOut(1500); 
$("a.transition").click(function(event){
  event.preventDefault();

  linkLocation = this.href;

   if (linkLocation.indexOf("index.html")>= 0){

     var e = document.getElementById("overlay");
     e.id = "overlay2";
     $("#overlay2").fadeIn(1000, function() {

     window.location = linkLocation;

     return false;
   });
 }

而不是:

 $("#overlay").fadeOut(1500);
  $("a.transition").click(function (event) {
     event.preventDefault();

      linkLocation = this.href;

      if (linkLocation.contains("index.html")) {

         var e = document.getElementById("overlay");
          e.id = "overlay2";
         $("#overlay2").fadeIn(1000, function () {

            window.location = linkLocation;

            return false;
        });
    }

我希望它可以帮到你。谢谢!