gpt4 book ai didi

javascript 交换缩略图与更大的图像

转载 作者:行者123 更新时间:2023-11-28 12:42:56 24 4
gpt4 key购买 nike

我是网络编程的新手,现在正在网站上工作。在这个站点的一部分中,我收集了 3 张图片。下方有 1 个较大的缩略图和 2 个较小的缩略图。目标是创建一种方法,让我可以单击其中一个缩略图,然后它们会与一张大图片交换位置。知道我会怎么做吗?这是一段代码。谢谢!

<div class = 'picture-container'>
<div class = 'large-picture' id = 'lp1'>
<figure style = 'float:left;width:45%;'>
<img src = 'close_table_dupontstudios.png' width = '100%' height = '100%' class = 'no-mobile'>
<figcaption class = 'red-cap'>Our Set-Up</figcaption>
</figure>
<div class = 'picture-content'>
<div class = 'picture-title'>BOUTIQUE PRODUCTION STUDIO</div>
<div class = 'picture-text'>We built a boutique full service production studio that allows for one, two and three person filmed interviews and conversations. We have studio lights, a three camera set-up and remote monitoring. Additionally, our Infinity Wall creates a clean and professional look that allows the film to be about the message.</div>
<!--<div class = 'small-picture'>
<img src = 'hair_and_makeup_dupontstudios.png' width = '175' height = '100'>
</div>
<div class = 'small-picture'>
<img src = 'infinity_wall_dupontstudios.png' width = '175' height = '100'>
</div>-->
</div>
<div class = 'thumbnail-container'>
<figure class = 'thumbnail'>
<img src = 'infinity_wall_dupontstudios.png' width = '100%' height = '100%'>
</figure>
<figure class = 'thumbnail'>
<img src = 'infinity_wall_dupontstudios.png' width = '100%' height = '100%'>
</figure>
</div>
</div>
</div>

最佳答案

有很多方法可以解决这个问题。最简单的方法是转储所有图像(大的和小的)并且一次只显示一个。

所以在源代码中,除了第一个之外,所有大图像都将具有 hidden 类,这使得它们 display: none。然后只需在单击缩略图时显示正确的大图像即可。

要显示正确的大图,您需要通过标识符将缩略图与大图相关联。下面是将缩略图链接的 href 设置为大图像 id 的示例。

<a href="#lp1">
<figure class="thumbnail">...</figure>
</a>

现在添加 javascript (jQuery)。

// preselect all large images
var largeImages = $('figure.large');
// add handler for thumbnail clicks
$('.thumbnail-container').on('click', 'a', function (e) {
e.preventDefault();
var thumbnailLink = $(this),
selectedLarge = $(thumbnailLink.attr('href'));
// hide all the large images
largeImages.addClass('hidden');
// show the large image that corresponds to the clicked thumbnail
selectedLarge .removeClass('hidden');
});

所以,最简单的方法是隐藏/显示,但这并不是最有效的方法。它使客户端加载所有图像,即使它们是隐藏的。

一种更有效的方法是在缩略图中添加 data- 属性,并在缩略图点击处理程序中使用来自点击缩略图的数据更新大内容区域。要“替换”图像,您只需需要替换 src 属性。

关于javascript 交换缩略图与更大的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17578016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com