1

次のようにロードされるWebサイトがあります。

<div class"overlay">
<div id="hideMsg">15 </div>
<div class="mainbox">
</div>
</div>

現時点では、オーバーレイは 15 秒後に消えますが、誰かが div メインボックス内をクリックした場合にこれを停止したいと思います。(たとえば、ボックス div は消えなくなります。同時に、カウントダウン タイマーも不要になるため、消えてほしいと思います。

私が使用しているコードは次のとおりです。

divを非表示にする

$(document).ready(function()  {
    setTimeout(function() {
        $(".overlay").fadeOut(1500);
    },15000);
        });

カウントダウンタイマー用

var sec = 15
var timer = setInterval(function() {
   $('#hideMsg span').text(sec--);
   if (sec == -1) {
  $('#hideMsg').fadeOut('fast');
  clearInterval(timer);
   } 
}, 1000);

どうにかして機能を停止する必要があると思いますが、これを行う方法がわかりません。これを行うための最良の方法が何であるかを見ることに本当に興味があります。

ありがとう、

スコット

4

1 に答える 1

4

のタイムアウトonclickをクリアしてみてくださいmainbox

$(document).ready(function()  {
    var mTimer = setTimeout(function() {
        $(".overlay").fadeOut(1500);
    },15000);

    $('.mainbox').click (function () {
       clearTimeout(mTimer);
       $('#hideMsg').fadeOut(100);
    });
});
于 2013-02-11T21:21:28.997 に答える