如何淡化图像并将其替换为另一个图像?
How can I fade an image and replace it with another one?
我的图片库有问题。由于某种原因,图像淡出但其余代码没有执行,它只是在中途停止。我已经尝试删除淡出功能并且代码工作正常,图像被交换它们应该如何等等。我做错了什么关于淡入淡出?
$('.frame').click(function() {
$("#lightbox").toggleClass("fadeout", function (){
var copy = $(this).children().clone();
$('#lightbox').children().replaceWith(copy);
$("#lightbox").toggleClass("fadeout");
});
});
我是一个完全自学成才的新手,所以我可能会问一些愚蠢的问题。
#lightbox {
opacity: 1;
padding: 0 0 0 1%;
width: 89%;
height: 100%;
float: right;
text-align: center;
transition: opacity 1s ease;
}
#lightbox.fadeout {
opacity: 0;
}
.frame {
width: 100%;
text-align: left;
}
<div id="gallery_container">
<div id="lightbox">
<img src="images/IMG_6412.jpg" alt="">
</div>
<div id="gallery_nav">
<ul>
<div class="frame"><img src="images/XA2.jpg" alt=""></div>
<div class="frame"><img src="images/Mega002.jpg" alt=""></div>
<div class="frame"><img src="images/IMG_6412.jpg" alt=""</div>
</ul>
</div>
</div>
您没有正确使用 toggleClass
函数。第二个参数是一个函数,但根据文档,第二个参数必须是一个 state
指示,它是一个布尔值(True = 显示,False = 隐藏)
根据您的评论,以下内容应该有效:
$('.frame').click(function() {
var copy = $(this).children().clone();
$("#lightbox").fadeOut(2000, function (){
$('#lightbox').children().replaceWith(copy);
$("#lightbox").fadeIn(2000);
});
});
我的图片库有问题。由于某种原因,图像淡出但其余代码没有执行,它只是在中途停止。我已经尝试删除淡出功能并且代码工作正常,图像被交换它们应该如何等等。我做错了什么关于淡入淡出?
$('.frame').click(function() {
$("#lightbox").toggleClass("fadeout", function (){
var copy = $(this).children().clone();
$('#lightbox').children().replaceWith(copy);
$("#lightbox").toggleClass("fadeout");
});
});
我是一个完全自学成才的新手,所以我可能会问一些愚蠢的问题。
#lightbox {
opacity: 1;
padding: 0 0 0 1%;
width: 89%;
height: 100%;
float: right;
text-align: center;
transition: opacity 1s ease;
}
#lightbox.fadeout {
opacity: 0;
}
.frame {
width: 100%;
text-align: left;
}
<div id="gallery_container">
<div id="lightbox">
<img src="images/IMG_6412.jpg" alt="">
</div>
<div id="gallery_nav">
<ul>
<div class="frame"><img src="images/XA2.jpg" alt=""></div>
<div class="frame"><img src="images/Mega002.jpg" alt=""></div>
<div class="frame"><img src="images/IMG_6412.jpg" alt=""</div>
</ul>
</div>
</div>
您没有正确使用 toggleClass
函数。第二个参数是一个函数,但根据文档,第二个参数必须是一个 state
指示,它是一个布尔值(True = 显示,False = 隐藏)
根据您的评论,以下内容应该有效:
$('.frame').click(function() {
var copy = $(this).children().clone();
$("#lightbox").fadeOut(2000, function (){
$('#lightbox').children().replaceWith(copy);
$("#lightbox").fadeIn(2000);
});
});