【发布时间】:2016-04-01 21:35:02
【问题描述】:
我需要 //OUT 函数在 3 秒而不是 1 秒后隐藏我的 div。我想问题是我应该在显示 div 后应用一些东西来触发 //OUT 函数,但我不知道如何解决它。请帮忙。我需要函数 //OUT 独立工作,不想在 //IN 函数中添加任何内容,因为滚动后会出现一些 div,我希望它们也能在设定的时间隐藏。
// OUT
$(function() {
$("[class*=outtime]").each(function() {
var retraso = parseInt($(this).attr("class").match(/outtime\d+/g)[0].replace("outtime",""));
setInterval("$('.outtime" + retraso + "').fadeOut(0)", retraso * 1000);
});
});
// IN
$(function() {
$("[class*=intime]").each(function() {
var retraso = parseInt($(this).attr("class").match(/intime\d+/g)[0].replace("intime",""));
$(this).delay(retraso * 1000).fadeIn(0);
});
});
.cuadrado{ height:100px;width:100px; background:red;display:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cuadrado intime2 outtime3">
</div>
【问题讨论】:
-
你可以使用 .fadeTo(3000, 0).fadeTo(1000,1);
-
它不会像我需要的那样工作。
-
$(element).fadeTo(3000,0); 3 秒持续时间到不透明度 0(淡出)
-
所以你想让 div 每隔 3 秒出现和重新出现一次?
-
@theblindprophet 不,我希望 div 使用 //IN 函数在 2 秒后出现,并在 //OUT 函数后 3 秒消失;不会再出现。
标签: javascript jquery html