我有一个简短的问题,请:)
我有一个脚本,我可以看到5张图像。 用户控制他点击图像的顺序。
所以我想要完成的事情: 如果单击最后一个图像,则应显示div。
jQuery如何知道是否点击了第5张图片?
其余的(淡入div)我已经知道了。
请你这么善良并给我一点暗示吗? :)
答案 0 :(得分:0)
您应该可以使用$('.myImages').is(":visible")
来测试所有图片。
它可能看起来像这样的 (不完全是,我认为):
var allVisible = true;
$.each($('.myImages'), function(index, value){
if( $(value).is(":visible") && allVisible )
{
//that's nifty, move on
continue;
}
else
{
allVisible = false;
}
});
if( allVisible )
{
$('#myDiv').show();
}
答案 1 :(得分:0)
如果您点击处理程序,则在单击图像时添加一个类。
$(this).addClass("hasBeenClicked");
然后,您可以检查点击图像的数量
if ($("img.hasBeenClicked").length === 5) { alert("All 5 have been clicked"); }
要打破它,
img.hasBeenClicked
是“具有<IMG>
类的所有hasBeenClicked
元素”的CSS选择器语法。您可以通过将CSS <style>img.hasBeenClicked { border: 4px solid red }</style>
添加到HTML并查看哪些内容为红色边框来对此进行测试。
$("img.hasBeenClicked")
然后只调用jQuery查询运算符$
来获取具有该类的<IMG>
元素的数组。
$("img.hasBeenClicked").length
使用数组.length
属性来获取该类的<IMG>
元素数。
$(this).addClass("hasBeenClicked");
只是记账,在点击图像时将hasBeenClicked
类放在图像上。它不会超量计算,因为无论单击一个图像多少次,它只会在$
返回的节点数组中计数一次。
答案 2 :(得分:0)
假设你的一个div被声明为:
<div id="div5">
<!-- img tag -->
</div>
然后你可以说$('#div5').click(function(){ $('#div5').show(); });