我有一个列表缩略图,点击时可以显示更大的对应项。我想在缩略图的底部边缘的div中显示图像标题。此外,当鼠标移动到缩略图上时,它会在整个事物上显示第二个div(包含文本)。
最好的方法是什么?如果需要js库,则首选jquery。
答案 0 :(得分:1)
答案 1 :(得分:0)
<div>
<img id="image-1" src="yourimage.png" title="My title" />
<p id="image-1-title"></p>
</div>
$(document).ready(function(){
$("img[id^='image-']").each(function(i){
var id = $(this).attr("id");
var title = $(this).attr("title");
$("#"+id+"-title").html(title);
});
});
这应该适用于图像标题:)
答案 2 :(得分:0)
前段时间我写了一个小插件,可以让你做你需要的,并在悬停时动画。它最初是为了添加悬停背景动画,但我想它应该能够做你需要的。
/*
* jQuery Animate Background (v0.2)
* Copyright (c) 2009 Mario "Kuroir" Ricalde ( http://twitter.com/exolimpo )
* Usage:
* $("h1").animateBg();
* Con Campos Opcionales:
* $("div").animateBg({time:130,add:"span"});
*/
(function($){
$.fn.animateBg = function(opciones){
$.fn.animateBg.defecto = {
time : "fast", add : "span"
};
var config = $.extend({}, $.fn.animateBg.defecto, opciones);
this.each(function(){
var c = config;
var title = $(this).attr("title");
$(this).append("<"+ c.add +">" + title + "</"+ c.add +">").hover(function(){
$(this).children(c.add).fadeIn(c.time);
},function(){
$(this).children(c.add).fadeOut(c.time);
});
});
}
})(jQuery);
$(document).ready(function(){
$("#thumb-list p img").animateBg();
});
<div id="thumb-list">
<p><img src="lol.jpg" title="My title" /></p>
</div>
很抱歉,如果代码不起作用..我无法测试,因为我不在家。