Javascript setInterval函数导致控制台多次记录某些内容

Javascript setInterval函数导致控制台多次记录某些内容,javascript,jquery,Javascript,Jquery,我有一个函数,它使用setInterval来增加图像大小并显示关闭按钮。单击“关闭”按钮后,图像的大小再次减小。我还添加/删除了一些类等,但它只工作一次,如果我再次减小大小,格式就会开始混乱,因此在尝试调试时,我添加了console.log(“test”),并注意到每次关闭图像时都会额外记录一次 例如,我第一次单击close,它被正确地记录了一次。下一次我关闭一个图像时,它总共被调用了3次,下一次它总共被调用了6次 当然,当高度降低到200时,控制台应该只记录一次 HTML: $(文档).re

我有一个函数,它使用setInterval来增加图像大小并显示关闭按钮。单击“关闭”按钮后,图像的大小再次减小。我还添加/删除了一些类等,但它只工作一次,如果我再次减小大小,格式就会开始混乱,因此在尝试调试时,我添加了console.log(“test”),并注意到每次关闭图像时都会额外记录一次

例如,我第一次单击close,它被正确地记录了一次。下一次我关闭一个图像时,它总共被调用了3次,下一次它总共被调用了6次

当然,当高度降低到200时,控制台应该只记录一次

HTML:

$(文档).ready(函数(){
var images=document.querySelectorAll('.thumbnail');
image.forEach(函数(图像){
image.addEventListener(“单击”,放大);
});
功能放大(e){
var image=e.target,
间隔
高度=200,
宽度=200,
z=$(this.css(“z-index”);//获取已单击图像的当前z-index
/*此产品=*/
$(this.css(“z-index”,z+10);//仅将选定图像的z-index增加10
$(“#产品容器”).addClass('disable-click');//在另一个产品被放大时,阻止其他产品被放大
$('.unhidden').not($(this).closest('.unhidden')).addClass('hide');
$(this.parent().parent().css(“float”,“left”);
//$('.unhidden')。不是($(this)).addClass('noOpacity');
//$('.unhidden').addClass(“隐藏”);
$(“#关闭按钮”)。单击(函数(){
$(“#关闭按钮”).css(“可见性”、“隐藏”);
$(“暗封面”).css(“可见性”、“隐藏”);
间隔=设置间隔(函数(){
高度-=6.666;//需要减少400px,所以400/60=6.666
宽度-=6.666;
如果(高度=600){//Once超出所需尺寸,请设置最终尺寸
高度=600;
宽度=600;
间隔时间;
$(“#关闭按钮”).css(“可见性”、“可见”);//在图像放大后使其可见,以防止用户单击“关闭”时出现错误
$(“#暗显封面”).css(“可见性”、“可见”);//在图像完成放大之前
}
image.style.height=高度+px;
image.style.width=宽度+px;
},8.334);/1000/60=16.667 fps
}
$(“#关闭按钮”)。单击(函数(){
$(“#产品容器”).removeClass('disable-click');//允许再次单击其他产品
$('.thumbnail').css(“z-index”,1200);//将所有图像的z-index重置为相同的值,以防止缩略图位于放大图像的顶部
});
});
#产品容器{
宽度:100%;
身高:100%;
填充顶部:25px;
}
.产品包装{
宽度:80%;
身高:100%;
保证金:0px自动;
文本对齐:居中;
}
#产品{
显示:内联块;
高度:252px;
宽度:200px;
利润率:10px;
边框:纯色2px黑色;
}
.图像容器{
高度:200px;
宽度:200px;
}
.产品文本{
字体系列:“开放式”和“压缩式”;
字体大小:20px;
填充:0;
高度:50px;
宽度:100%;
文本对齐:居中;
颜色:黑色;
字号:700;
线高:50px;
边框顶部:纯色2件套黑色;
背景:#009641;/*旧浏览器*/
背景:-莫兹线性梯度(顶部,#0096410%,#a1d54f 96%,#80c217 100%,#7cbc0a 100%);/*FF3.6-15*/
背景:-webkit线性梯度(顶部,#0096410%,#a1d54f 96%,#80c217 100%,#7cbc0a 100%);/*Chrome10-25,Safari5.1-6*/
背景:线性梯度(至底部,#0096410%,#a1d54f 96%,#80c217 100%,#7cbc0a 100%);/*W3C,IE10+,FF16+,Chrome26+,Opera12+,Safari7+*/
}
.缩略图{
位置:相对位置;
高度:200px;
宽度:200px;
光标:指针;
z指数:1200;
}
.未隐藏{
}
#暗淡的封面{/*使背景与页眉和表单分开*/
背景:黑色;
不透明度:0.8;
位置:固定;
排名:0;
左:0;
宽度:100%;
身高:100%;
可见性:隐藏;
z指数:1100;
}
#关闭按钮{/*按钮关闭隐藏窗口*/
位置:固定;
背景:白色;
右:0;
顶部:100px;
z指数:1200;
可见性:隐藏;
颜色:白色;
填充:10px 50px 10px 50px;
背景#009641;
}

关
测验
测验
测验
测验