我有一个文本fadeIn/fadeOut 脚本,在单击时会显示一个指定的图像,持续时间是用setTimeout 定义的。
当我不想在整个设定时间内看到该图像时,我想创建一个取消按钮。
我尝试将 clearTimeout 函数添加到 class="cancel" 并将其指向 a 但无法使其工作...
我的html:
<div id="help">
<p class="helper" data-timeout-value="5000" id="1">Do you...?</p>
<p class="helper" data-timeout-value="7000" id="2">Do you still...?</p>
<p class="helper" data-timeout-value="8000" id="3">Do you really still...?</p>
</div>
<div id="image1"></div>
<div id="image2"></div>
<div id="image3"></div>
脚本
var myTime;
$(".helper").click(function(){
var $this = $(this),
$id = $this.attr('id'),
$timeout = $this.attr('data-timeout-value');
$("#help").fadeOut(500);
$("#image"+$id).fadeIn(500);
myTime = setTimeout(function() {
$('#image'+$id).fadeOut(500);
$("#help").fadeIn(500);
}, $timeout);
})
$('div.cancel').click(function(){
clearTimeout(myTime);
});