0
我试图从html中显示下一个文本之前显示的值中设置单独的持续时间。我想也许我可以为jquery.delay设置一个变量(多么大),但它只是通过第一个“data-howlongtime”为其余的变量获取值。 JSFiddle。除了一切之外,我做错了什么?从html数据设置jquery延迟
<div id="aboutid" data-howlongtime="10000">
<p class="abouts">Less delay</p>
</div>
<div id="aboutid" data-howlongtime="20000">
<p class="abouts">Long delay</p>
</div>
<style>.abouts {display: none;}</style>
<script>
var delayabout=1700;
var howlong = $('#aboutid').data('data-howlongtime');
(function() {
var abouts = $(".abouts");
var aboutIndex = -1;
function showNextabout() {
++aboutIndex;
abouts.eq(aboutIndex % abouts.length)
.fadeIn(2000)
.delay(howlong)
.fadeOut(2000, showNextabout);
}
setTimeout(function(){
showNextabout();
}, delayabout);
})();
</script>
的ID应该是唯一的,如果你不遵守,你会得到意想不到的behavior.Try改变'aboutid'一类,然后让每个'数据howlongtime' –
使用一个类而不是ID的 –