【发布时间】:2021-07-29 22:45:33
【问题描述】:
我已经通过W3Schools 建立了一个类似这样的画廊,但使用 jquery 而不是 javascript,如图所示 here。
我在修改时遇到问题,也许有人可以帮忙:我使用图像 alt 标签将鼠标悬停标题添加到使用以下代码的缩略图中:
//show alt as title on hover
var alt;
var $imgElem = $('.column img');
$imgElem.each(function(){
alt = $(this).attr('alt');
$(this).parent().append('<h2>' + alt + '</h2>');
});
与 css 配合得很好
.column {
position:relative;
}
.column h2 {
position:absolute;
top:0;left:0;
width:420px;
background:#EDE9D6;
font-size:38px;
line-height:90px;
padding:0 30px;
box-sizing:border-box;
opacity:0;
cursor:pointer;
}
.column:hover h2 {
opacity:1;
}
现在的问题是标题在可见时没有用于更改展开图像的 onclick 功能。有人知道如何将该功能添加到 h2 标题中吗?我尝试了以下方法,但没有成功(图像始终相同):
$(".column h2").click(function() {
console.clear();
var newclass = $(".column img").attr("src");
console.log(newclass);
var oldclass = $("#expandedImg").attr("id");
console.log(oldclass);
$(".stage").show();
$("#expandedImg").attr('src', newclass).hide().fadeIn("slow");
//set new source and hide element in order to be able to fade it in again
});
这是html:
<div class="stage">
<div id="imgtext"></div>
<span class="closebtn">×</span>
<img id="expandedImg" />
</div>
<div id="column1" class="column">
<img src="train.jpg" alt="train" title="train" />
</div>
<div id="column2" class="column">
<img src="bike.jpg" alt="bike" title="bike" />
</div>
<div id="column3" class="column">
<img src="cake.jpg" alt="cake" title="cake" />
</div>
感谢任何帮助和想法。
【问题讨论】:
标签: jquery tabs thumbnails image-gallery