2011-12-23 1 views
1

で自分のコードをするsetInterval機能をリセットします。ここでjqueryの

$(document).ready(function() { 
    $('#mid_select').live('click', function(e){ 
     $('#middle').load($(this).attr('href') + ' #middle'); 
     var page = $(this).attr("rel"); 
     alert(page); 
     if (page == 'mywall'){ 
      var auto_refresh = setInterval(function() { 
      $('#bottom_middle').load('includes/main_middle_div.php?view=mywall #bottom_middle').fadeIn("slow");}, 5000); 
     } else { 
      clearInterval(auto_refresh);  
     } 
     e.preventDefault(); 
    }); 
}); 

私は何をしようとしているで、ユーザーが「mywall」に等しい#mid_selectのidとrel属性を持つリンクをクリックした場合#bottom_middle divを5秒ごとにリフレッシュしますが、ユーザーがrel属性が「mypage」に等しくないリンクをクリックした場合は、#bottom_middle divを5秒ごとにリフレッシュしないでください。これをやり遂げる方法を見つけ出すことはできませんでしたか?

+0

jsfiddleにHTMLを投稿してください。この部分は必要ありません。 else { clearInterval(auto_refresh); } – Fenec

答えて

2

setIntervalのタイムアウトの外部には、varを使用)の参照を保存する必要があります。また、最大での1つの間隔が一度にループしていることを確認する必要があります。以下に示す調整済みコードは、次の基準を満たしています。

+0

うわー、ありがとう、完璧に動作します!ちょっとしたことですが、 'if(auto_refresh === false){'ステートメントを終了するために '}'を追加しなければなりませんでした。再度、感謝します。 – DanielOlivasJr