我正在寻找一种方法来触发每个图像上的不同功能。我正在使用 Galleria Jquery 插件并将其设置在我的网站上。问题是我想根据加载的图像显示一个带有信息的 div。我不知道如何捕获显示的图像以及如何基于它创建条件。
问问题
654 次
3 回答
0
我对那个插件不是很熟悉,但是如果您的图像是从数据库中提取的,您可以关联一组数据(如类别)或每个项目的特定数据(如标题)使用每个图像,因此当它们被拉过来时,您可以让 jQuery 将该数据外推到您的插件中。
于 2010-03-12T18:32:32.513 回答
0
有一个“onImage”回调,它传递了正在显示的图像元素。如果你给每个图像一个“id”值,或者如果你只看“src”属性,那么你就可以知道要显示什么信息。
于 2010-03-12T18:39:39.910 回答
0
更新
演示:http: //jsbin.com/egavo/6
无需破解原始 Galleria 插件,只需将其添加到您的代码中!
CSS部分:
/* HOVER CSS EFFECT */
.imageteaser {
margin: 0;
overflow: hidden;
float: left;
position: relative;
}
.imageteaser:hover {
cursor: pointer;
}
.imageteaser .more {
position: absolute;
right: 20px;
bottom: 20px;
font-size: 1.2em;
color: #fff;
background: #000;
padding: 5px 10px;
filter:alpha(opacity=65);
opacity:.65;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; /*--IE 8 Transparency--*/
}
.imageteaser .desc { display: none; }
.imageteaser:hover .more { visibility: hidden;}
.imageteaser:hover .desc{
display: block;
font-size: 1.2em;
background: #111;
filter:alpha(opacity=75);
opacity:.75;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; /*--IE 8 Transparency--*/
color: #fff;
position: absolute;
bottom: 11px;
left: 0;
padding: 10px 5px;
margin: 0;
width: 702px;
border-top: 1px solid #999;
text-align:left
}
.imageteaser:hover .desc strong {
display: block;
margin-bottom: 5px;
font-size:1.5em;
float:right;
margin-right:20px
}
JQUERY(最新版本)部分:
$(".gallery_demo_unstyled img").click( function() {
var src = $(this).attr('src');
$('.imageteaser').remove();
$('.galleria_wrapper').before('<div class="imageteaser">'+
'<img src="'+src+'" alt="" />'+
'<span class="more">> read more</span>' +
'<span class="desc">'+
'<strong>click</strong>'+
$(this).attr('title') +
'</span></div>');
$('.galleria_wrapper').attr('style','display:none');
}).filter(':first').click();
$(".imageteaser .desc strong").live( 'click' , function() {
alert('run function!');
});
这正是你想要的!;-)
让我知道!
于 2010-03-12T22:18:47.190 回答