我有一个带有图像的网页。用户可以单击图像来显示()或海德()这些图像。
有时,用户会打开一个弹出窗口来观看视频。
然后代码 hide() 之前打开的所有元素。
当用户关闭视频时,我需要知道之前打开了哪些元素以便只显示它们。
最好的方法是什么?
我做了什么:
我创建了一个数组,并将图像名称推入其中。
var arr_popup_open = [];
然后,当用户打开弹出窗口并隐藏所有元素时调用此函数:
function toggleAllPopup() {
if( $('#popup_micro_1').is(":visible"))
{
$('#popup_micro_1').hide();
arr_popup_open.push('#popup_micro_1');
}
if( $('#popup_micro_2').is(":visible"))
{
$('#popup_micro_2').hide();
arr_popup_open.push('#popup_micro_2');
}
if( $('#popup_micro_3').is(":visible"))
{
$('#popup_micro_3').hide();
arr_popup_open.push('#popup_micro_3');
}
}
// and so on ... I have 7 images so it seems it's not very well optimized
当我只需要显示以前打开的图像时,我执行此代码,循环显示()数组中的元素。
$('#close_pop_up').click(function() {
for(var i= 0; i < arr_popup_open.length; i++)
{
$(arr_popup_open[i]).show();
}
});
你怎么看?有更好的方法吗?