我对 javascript 还是很陌生,发现它有点难以理解。
我希望暂停/播放按钮是一个按钮,并在单击它时循环播放。
我还想知道如何通过淡入淡出使图像过渡更平滑?我已经尝试更改淡入淡出和淡入淡出中的秒数,但它似乎并没有太大的区别,所以我对现在该做什么有点迷茫。另外,如何使图像在过渡之间停止闪烁?
谢谢,加比。
HTML:
<body>
<div class="wrapper">
<div id="slider">
<img id="1" src="images/kirsty_family01.jpg">
<img id="2" src="images/kirsty_family02.jpg">
<img id="3" src="images/kirsty_family03.jpg">
<img id="4" src="images/kirsty_family04.jpg">
<img id="5" src="images/kirsty_family05.jpg">
<img id="6" src="images/kirsty_family06.jpg">
</div>
<a href="#" class="left" onClick="prev();return false;">Previous</a>
<a href="#" class="right" onClick="next();return false;">Next</a>
<a href="#" class="right" onClick="stop();return false;">Pause</a>
<a href="#" class="right" onClick="play();return false;">Play</a>
</div>
</body>
jQuery:
sliderInt=1;
sliderNext=2;
$(document).ready(function(){
$("#slider>img#1").fadeIn(1000);
startSlider();
});
function startSlider(){
count = $("#slider>img").size();
loop = setInterval(function(){
if(sliderNext>count){
sliderNext=1;
sliderInt=1;
}
$("#slider>img").fadeOut(1000);
$("#slider>img#"+sliderNext).fadeIn(1000, function() {
$(this).siblings().hide();
});
sliderInt=sliderNext;
sliderNext=sliderNext+1;
},3000)
}
function prev(){
newSlide=sliderInt-1;
showSlide(newSlide);
}
function next(){
newSlide=sliderInt+1;
showSlide(newSlide);
}
function stop(){
window.clearInterval(loop);
}
function play(){
newSlide=sliderInt+1;
showSlide(newSlide);
}
$('#play_toggle').bind("click",function(){
if(stop){
play();
$(this).html("pause");
}else{
video.pause();
$(this).html("play"); }
});
function stopLoop(){
window.clearInterval(loop);
}
function showSlide(id){
stopLoop();
if(id>count){
id=1;
} else if(id<1){
id=count;
}
$("#slider>img").fadeOut(1000);
$("#slider>img#"+id).fadeIn(1000);
sliderInt=id;
sliderNext=id+1;
startSlider();
}
$("#slider > img").hover(
function () {
stopLoop();
},
function() {
startSlider();
}
);