2013-06-27 152 views
1

这里里面打开图像是我JsFiddle的模式窗口

我想创建一个图片库。当有人点击任何图像时,我希望每个图像在模式窗口内打开。我设计了我的模态窗口。我只是不知道如何将我的模式窗口连接到图像库中的图像。我想被点击的图像出现我的模态窗口的img标签内。

这是我第一次我试图做模态窗口的东西。我不知道如何为我的情况编写该点击事件处理程序。我在网上搜索。我没有找到任何匹配的解决方案。所有人都建议使用他们自己的插件。我不想为此使用其他插件。一点帮助,将不胜感激。

这里是我的图片库

<div class="gallery"> 
    <div class="row"> 
    <a href="#"> <img class="normalimage" src=""> </a> 
    <a href="#"> <img class="wideimage" src=""> </a> 
    <!--more images--> 
    </div> 
    <div class="row"> 
    <a href="#"> <img class="normalimage" src=""> </a> 
    <a href="#"> <img class="normalimage" src=""> </a> 
    <!--more images--> 
    </div> 
</div> 

这里是我的模态窗口

<div class="gallery-overlay" style="display: none;"> 
<div class="gallery-imagebox"> 
    <img class="gallery-image" src="#"> 
</div> 

<div class="gallery-captionbox"> 
    <div class="gallery-control gallery-control-previous"> 
    < 
    </div> 
    <div class="gallery-control gallery-control-next"> 
    > 
    </div> 
</div> 
</div> 
+0

Wher e是click事件处理程序的代码?实际上 – Precastic

+0

@Precastic,这是我第一次我试图做模态窗口的东西。我不知道如何为我的情况编写该点击事件处理程序。我在网上搜索。没有找到任何匹配的解决方案。将不胜感激。 – shubendrak

回答

1

使用jQuery你可以用这个启动:

$(function(){ 
    $('.gallery').on('click','a',function(){ 
    $('.gallery-overlay').show() 
     .find('.gallery-image').attr('src',$(this).find('img').attr('src')); 
    return false; 
    }); 
}); 

看一看这个this fiddle

+0

它没有为我工作。我改变你的代码为find('。gallery-image')。attr('src',$(this).find('a')。attr('href'));因为我想打开图片位置我指定的锚标记href属性 – shubendrak

+0

http://jsfiddle.net/shubendra/TSc8E/3/检查此jsfiddle以了解发生了什么 – shubendrak

+0

@Aadietya如果你打算做那么你想返回false以便链接不会被加载。我在答案中更新了我的答案和小提琴。我也用。对处理程序,因为这是对多个元素相同的点击处理干净。 – Precastic