我在网页上有一个图像,并在移动 jQuery slider 时更改它:
HTML:
<img src="images/flask_image1.png" alt="Isa lab" id="flask" />
slider HTML:
<div id="slider1">
脚本:
<script>
$(function() {
$( "#slider1" ).slider({
min: 0,
max: 4,
step: 1,
change: function(event, ui){
if(ui.value == 1){
$('#flask').fadeOut(100);
$('#flask').attr('src','images/flask_image2.png');
$('#flask').fadeIn(100);
}else{
$('#flask').attr('src','images/flask_image1.png');
};
}
});
});
</script>
然而,这会导致图像淡出、改变、然后淡出,其中“有效”,但它会暂时消失。
有没有办法使 2 个图像交叉淡入淡出?
最佳答案
给你,我想很简单,与实现一些插件相比,代码和难度要少得多:http://jsfiddle.net/gcvqr/2/
HTML
<img src="http://macnetized.com/wp-content/uploads/2014/02/Apple_Logo_csh_by_wiimon.png" id="slider">
<button>Change Image</button>
jQuery
var stopWorking=false;
var firstSrc="http://macnetized.com/wp-content/uploads/2014/02/Apple_Logo_csh_by_wiimon.png";
var secondSrc="http://technicallyeasy.net/wp-content/uploads/2011/04/apple-logo.jpg";
$('button').click(function(){
if(!stopWorking){
stopWorking=true;
$('body').append('<img src="'+$('#slider').attr('src')+'" id="fadingImg">');
$('#fadingImg').css({
'position':'absolute',
'width':'400px',
'height':'400px',
'top':'0px',
'left':'0px'
});
if($('#slider').attr('src')==firstSrc){
$('#slider').attr('src',secondSrc);
}
else{
$('#slider').attr('src',firstSrc);
}
$('#fadingImg').fadeOut(1000,function(){
$('#fadingImg').remove();
stopWorking=false;
});
}
});
注意:
为了使其在您的页面中工作,您需要为 #fadingImg
指定 slider img 的样式,使其位于其正上方。
关于javascript - jQuery 中的交叉淡入淡出图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24868247/