请看这个小提琴http://jsfiddle.net/rabelais/fEaAZ/4/
如何使用图像的alt标签将小缩略图图像链接到较大的隐藏图像?
我希望在悬停较小缩略图时显示匹配的隐藏图像。
$(".thumbnails").on("mouseover mouseout", "img", function () {
var flag = $(this).data('flag');
$('[alt="' + $(this).attr('alt') + '"]').css('visibility', flag ? 'hidden' : 'visible');
$(this).data('flag', !flag);
});
答案 0 :(得分:1)
如果我理解正确,那么你最大的问题是,当需要显示其他图片时,以前显示的图像不会被隐藏。
当您将鼠标悬停在使用alt设置为' alicecurls'的缩略图上时,您正在更改缩略图和大图片的可见性,但只会更改包含该精确alt的那些。这意味着之前可见的图片保持可见。
您可能想要浏览所有大图片并隐藏那些没有正确的属性alt值的图片。
我会以下列方式更改您的代码:
$(".thumbnails").on("mouseover mouseout", 'img', function () {
var alt = $(this).attr('alt');
$('.displayed-image > img').each(function(index, element) {
var el = $(element),
visibility = el.attr('alt') === alt ? 'visible' : 'hidden';
el.css('visibility', visibility);
});
});
以下是改变代码的小提琴:http://jsfiddle.net/mj7ba/。
但是,您需要定义用户将鼠标移离图片后应显示哪张图片。
答案 1 :(得分:0)
我建议进行以下更改:
以下是代码:fiddle
使用Javascript:
$(".thumbnails").on("mouseover ", "img", function () {
$('#' + $(this).attr('data-large'))
.attr('src', $(this).attr('src'))
.css('visibility', 'visible');
});
$(".thumbnails").on("mouseout ", "img", function () {
$('#' + $(this).attr('data-large')).css('visibility', 'hidden');
});
HTML:
<div class="thumbnails">
<img src="http://intelligen.info/images/Personal/instagram Randoms/alicecurls.jpg" data-large="alicecurls"/>
<img src="http://intelligen.info/images/Personal/instagram Randoms/genna.jpg" data-large="genna"/>
</div>
<div class="displayed-image">
<img id="alicecurls" class="repeatable" />
<img id="genna" class="repeatable" />
</div>