我的图库中有三个框项目(图库最终会增长),点击时每个项目都必须打开一个弹出图库滑块,其中包含图像。所以它将是三个不同的滑块,将来可能更多。
我如何区分每个箱子库与其他箱子?所以当点击它时它只是一个独立的画廊而不是所有图像?
这是我的标记:
<a class="box small" onclick="openslider()" href="javascript:void(0)">
<img src="/1.jpg" width="200" height="200" />
<h5>Title 1</h5>
<p>Description 1</p>
</a>
<a class="box small" onclick="openslider()" href="javascript:void(0)">
<img src="/2.jpg" width="200" height="200" />
<h5>Title 2</h5>
<p>Description 2</p>
</a>
<a class="box small" onclick="openslider()" href="javascript:void(0)">
<img src="/3.jpg" width="200" height="200" />
<h5>Title 3</h5>
<p>Description 3</p>
</a>
JS:
function openslider(){
$('.modal_container').fadeIn();
}
滑块加价:
<div class="slider_box gallery1">
<div class="slider">
<img src="/img/slider.jpg" alt="slider" width="587" height="414" />
<img src="/img/slider2.jpg" alt="slider2" width="800" height="564" />
<img src="/img/slider3.jpg" alt="slider3" width="587" height="414" />
<img src="/img/slider4.jpg" alt="slider4" width="800" height="564" />
</div>
</div>
答案 0 :(得分:0)
更改您的HTML
<a id="gallery1" class="box small" onclick="openslider(event, this)" href="javascript:void(0)">
<img src="/3.jpg" width="200" height="200" />
<h5>Title 3</h5>
<p>Description 3</p>
</a>
因此,当调用openSlider时,它会在obj中使用obj引用 然后改变你的JS代码,如
function openslider(event, obj){
if($(obj).attr(id) == "gallery1")
$('.modal_container').fadeIn();
if($(obj).attr(id) == "gallery2")
$('.the_other_modal_container').fadeIn();
}
因此您可以根据<a>
锚标记
编辑:
如果你有很多画廊,即很多IF条件,你可以简单地选择一个ID方案,如
<a id="box_1" ...>
然后选择数字部分并在.model_container
中使用它 function openslider(event, obj){
var id = $(obj).attr(id).split("_")[1];
$('#gallery_'+'id).fadeIn();
}
因此,简而言之,在此方案中为您的锚标签和画廊提供ID
<a id="box_1">
<div id="gallery_1">
<a id="box_2">
<div id="gallery_2">
...
等等