循环并“嗅探”您定义的设置条件的 JavaScript 函数最适合这种情况。您应该采取的方法是为每个 .png 分配它自己的 ID 属性。通过 JavaScript 和 jQuery 创建专门针对每个图像的变量。然后将 mousedown 或 click 事件附加到幻灯片上,该事件将检测哪个图像可见并触发该特定图像的计时器。当然,您需要在页面上隐藏每个图像的输入字段,以便计数器递增。
在链接中,您将看到类似的功能,当用户单击“放大”组件时,计时器将启动。它只会在用户点击图像时停止。
JavaScript 函数调用 setInterval() 并且可以使用 clearInterval() 停止。为获得最佳结果,请将 setInterval() 函数创建为变量。
样本变量:
var firstSlide = jQuery('img#slide1');
样品条件 01:
if (firstSlide.length > 0)
{
//start counter with setInterval();
}
样品条件 02:
if (firstSlide.is(':visible'))
{
//start counter with setInterval();
}
为了确保计时器中的重叠最少并确保更严格的行为,我建议在幻灯片容器中应用一个独特的 CSS 类,当它在单击时可见时,当它不可见时将其删除。
样品条件 03:
slideShow.click( function() {
slideShow.addClass('isClicked');
});
if (firstSlide.is(':visible') && jQuery('slideShow.isClicked').length > 0)
{
//start counter with setInterval();
}
http://www.alexldixon.com/clicktimerhelp.htm
setInvertval 可以“嗅探”动态条件的另一个示例是即使在窗口调整大小和文本换行时也使元素高度相等。
https://jsfiddle.net/dixalex/ojoevj1k/
var makeSameHeight = setInterval( function() {
var currentTextHeight = $('div.myClass-content').height() + "px";
var imgDivHeight = $('div.imgUrl').height() + "px";
if (currentTextHeight === imgDivHeight)
{
var doNothing = "";
} else {
$('div.imgUrl, div.postImageUrl, a.myClass').css("height", currentTextHeight);
}
}, 50);
最后,您还可以使用新的 Date() 函数。
我希望这有帮助。