0

新しいページがリロードされる前に jQuery 関数の実行を終了させるにはどうすればよいですか? これが私のコードです:

$(document).ready(function(){
  $("#box1").click(function(){
    var div=$("#box1");  
    div.animate({left:'-=500px'},"slow").hide(1000, null);
    var div=$("#box2");  
    div.animate({left:'-=1000px'},"slow").hide(1000);
  });
});

$(document).ready(function(){
   $("#box2").click(function(){
    var div=$("#box2");  
    div.animate({left:'+=500px'},"slow").hide(1000);
    var div=$("#box1");  
    div.animate({left:'+=1000px'},"slow").hide(1000);
  });
});

これら 2 つのボックスは新しいページへのリンクであり、新しいページが非常に速くロードされると、機能が中断されます。今、私は入れることができるコールバック関数を知っていますがhide()、関数に何をさせることができますか?それは何にも影響しませんか?

編集:

<body>
    <a href = "Profile/profile.php">
    <div id = "box1" style = "background-color: #98bf21;" >
        <center>
            <div style= "border: 125px solid #98bf21; background-color: #98bf21;">
                Box1
            </div>
        </center>
    </div>
    <a href = "KC_Choir/index.php">
    <div id = "Box2" style = "background-color: #98bf21;" >
        <center>
            <div style= "border: 125px solid #98bf21;">
                Box2
            </div>
        </center>
    </div>
</body>
4

1 に答える 1

1

これを試して:

http://jsfiddle.net/pqw8y/

$(document).ready(function(){
  $("#box1").click(function(){
    var div=$("#box1");  
    div.animate({left:'-=500px'},"slow").hide(1000,function(){
           window.location = this.href;
       });
    var div=$("#box2");  
    div.animate({left:'-=1000px'},"slow").hide(1000,function(){
           window.location = this.href;
       });
      return false;
  });
});

$(document).ready(function(){
   $("#box2").click(function(){
    var div=$("#box2");  
       div.animate({left:'+=500px'},"slow").hide(1000,function(){
           window.location = this.href;
       });
    var div=$("#box1");  
    div.animate({left:'+=1000px'},"slow").hide(1000,function(){
           window.location = this.href;
       });
       return false;
  });
});
于 2013-06-05T22:01:32.613 に答える