[英]Switching image with a fade in
我正在这里的一个网站上工作:
http://mccarronandco.com/newsite/modena.php
现在,他们已经决定他们希望在单击缩略图时淡出图片,而不仅仅是切换图像。 当前代码是:
<div id="mainimage">
<img src="images/modena/2.jpg" alt="holder" name="holder" id="holder">
</div>
<div class="gallerycontainer">
<div class="thumbnail">
<img src="images/modena/thumbs/2.jpg" alt="Modena" name="modena" width="75" height="56" title="Modena" onClick="document.holder.src='images/modena/2.jpg'" >
</div>
谁能建议我可以实现这一目标的方法? 我不知道从哪里开始,我从一个论坛上获得了上面的代码...
非常感谢,
安迪
您可以实现jQuery来做到这一点。 下载JS文件或使用承载jQuery的CDN并将其添加到您的网站的<head>
部分
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
然后将以下代码添加到您的<head>
部分:
<script type="text/javascript">
function SetImg(URL) {
//Fade out the Current Image
$('#holder').fadeOut('slow', function() {
//Set the new Image URL
$('#holder').attr('src', URL);
//Fade In the new image
$('#holder').fadeIn();
});
}
</script>
并且您的IMG html将变为:
<img src="images/modena/thumbs/2.jpg" alt="Modena" name="modena" width="75" height="56" title="Modena" onClick="SetImg('images/modena/2.jpg');" >
这样做是将Img标签的onclick
事件绑定到函数SetImg
,然后传递您希望将其设置为图像的URL。 在SetImg函数中,它找到ID = holder
的控件并设置SRC
属性。 然后调用该元素的fadeIn()
函数。
有关API的更多信息,请参见jQuery API文档 。
编辑:(要回答评论问题)
仅淡入淡出的代码在新图片中:
<script type="text/javascript">
function SetImg(URL) {
//Hide current image
$('#holder').hide();
//Set the new Image URL
$('#holder').attr('src', URL);
//Fade In the new image
$('#holder').fadeIn();
}
</script>
这个 jQuery插件将允许您通过在用户单击图像之一时简单地调用以下方法来循环显示图像。
$('#fade').cycle();
一种简单的解决方案是将图片持有人的CSS设置为,
#mainimage
{
-webkit-transition: background-image 0.2s ease-in-out;
-moz-transition: background-image 0.2s ease-in-out;
-ms-transition: background-image 0.2s ease-in-out;
-o-transition: background-image 0.2s ease-in-out;
transition: background-image 0.2s ease-in-out;
}
而不是img
标签,请使用background-image CSS属性。 并编辑此行,
<img src="images/modena/thumbs/2.jpg" alt="Modena" name="modena" width="75" height="56" title="Modena" onClick="document.holder.style.backgroundImage = 'images/modena/2.jpg'" >
这样,您不必包含任何插件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.