jquery如何记忆效果:显示两个,然后隐藏并重复
大家好,我如何用我的代码实现记忆效果?我的意思是:你可以点击两张图片来显示它们。在第三次单击showing images hide()时,可以单击下两个图像以显示 编辑:第三次单击应显示第二次尝试的第一个图像 在我的示例中,这只起作用一次,因为我不知道在哪里返回或重置amountofclicks 希望你能帮助我jquery如何记忆效果:显示两个,然后隐藏并重复,jquery,memory,hide,show,Jquery,Memory,Hide,Show,大家好,我如何用我的代码实现记忆效果?我的意思是:你可以点击两张图片来显示它们。在第三次单击showing images hide()时,可以单击下两个图像以显示 编辑:第三次单击应显示第二次尝试的第一个图像 在我的示例中,这只起作用一次,因为我不知道在哪里返回或重置amountofclicks 希望你能帮助我 $('.coverup').bind("click", function(event) { if (amountofclicks < 2) { $(th
$('.coverup').bind("click", function(event) {
if (amountofclicks < 2) {
$(this).find('.image').show();
amountofclicks++;
// $(this).unbind('click');
$('.hoverdiv').hide();
} else {
$('.image').hide();
amountofclicks = 0;
return;
}
});
HTML
<div id="container">
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
<div class="coverup">
<div class="hoverdiv">
</div>
<div class="image">
</div>
</div>
JS
var amountofclicks = 0;
$('.coverup').hover(
function() {
$(this).find('.hoverdiv').fadeTo('fast', 0.5);
}, function() {
$(this).find('.hoverdiv').fadeOut('fast');
});
$('.coverup').bind("click", function(event) {
if (amountofclicks < 2) {
$(this).find('.image').show();
amountofclicks++;
$(this).unbind('click');
$('.hoverdiv').hide();
} else {
$('.image').hide();
return;
}
});
var amountofclicks=0;
$('.coverup')。悬停(
函数(){
$(this.find('.hoverdiv').fadeTo('fast',0.5);
},函数(){
$(this.find('.hoverdiv').fadeOut('fast');
});
$('.coverup').bind(“单击”),函数(事件){
if(amountofclicks<2){
$(this.find('.image').show();
amountofclicks++;
$(this.unbind('click');
$('.hoverdiv').hide();
}否则{
$('.image').hide();
返回;
}
});
您必须重置amountofclicks
。jsFiddle:
此外,无需解除单击的绑定
$('.coverup').bind("click", function(event) {
if (amountofclicks < 2) {
$(this).find('.image').show();
amountofclicks++;
$('.hoverdiv').hide();
} else {
$('.image').hide();
$(this).find('.image').show();
amountofclicks = 1;
return;
}
});
$('.coverup').bind(“单击”),函数(事件){
if(amountofclicks<2){
$(this.find('.image').show();
amountofclicks++;
$('.hoverdiv').hide();
}否则{
$('.image').hide();
$(this.find('.image').show();
amountofclicks=1;
返回;
}
});
设置amountofclicks=0
当它达到2并且执行其他部分时。您不需要取消绑定单击事件
$('.coverup').bind("click", function(event) {
if (amountofclicks < 2) {
$(this).find('.image').show();
amountofclicks++;
// $(this).unbind('click');
$('.hoverdiv').hide();
} else {
$('.image').hide();
amountofclicks = 0;
return;
}
});
$('.coverup').bind(“单击”),函数(事件){
if(amountofclicks<2){
$(this.find('.image').show();
amountofclicks++;
//$(this.unbind('click');
$('.hoverdiv').hide();
}否则{
$('.image').hide();
amountofclicks=0;
返回;
}
});
尝试将if(amountofclick<2){…}
更改为if(amountofclick%2){…}
。那么你就不需要重置计数器了。谢谢你的回答。第三次点击也应该能够打开/显示图片my bad,我如何才能做到这一点?谢谢你的回答,第三次点击是否也可能打开/显示,因为现在第三次点击没有做任何事情(尽管我很糟糕)更新了我的答案和JSFIDLE,这是你要找的吗?