1

私は次のコードを持っています:

<script type="text/javascript">
$("#contact_min").toggle(function(){
  $("#contact_min").animate({
    height: "300px"
  }, 1000 );
$(".arrow").html("&#x25bc;")
$(".popupcontent").html('foobar')
},
function(){
  $("#contact_min").animate({
    height: "28px"
  }, 1000 );
$(".arrow").html("&#x25B2;")
$(".popupcontent").html("")
});
</script>

<script type="text/javascript">
$(document).ready(function(){
   setTimeout(function(){
  $("#contact_min").animate({
    height: "300px"
  }, 1000 );
$(".arrow").html("&#x25bc;")
$(".popupcontent").html('foobar')
      }, 25000);

});
 </script>

これは完全に機能します。divをクリックして開くか、25秒待ってから開きます。ただし、クリックして25秒待つと、もう一度クリックして閉じる必要があります。これは、既にクリックした場合でも、タイムアウトによってボックスが開いたままになるためです。ボックスをクリックした後にタイムアウトを停止して、25秒後にボックスが開かないようにする方法はありますか?

4

2 に答える 2

5

使用するclearTimeout()

var tOut = setTimeout(function(){
                       $("#contact_min").animate({
                              height: "300px"
                       }, 1000 );
                       $(".arrow").html("&#x25bc;")
                       $(".popupcontent").html('foobar')
      }, 25000);

次に、このタイムアウトをクリアするには、次のようにします。clearTimeout(tOut);

于 2013-01-16T10:42:32.223 に答える
0

保存された値で呼び出すだけclearTimeoutで、タイムアウトが停止します

clearTimeout(timeout);
于 2013-01-16T10:45:22.950 に答える