Javascript Jquery fadeIn似乎没有发生
我做了这个最小的测试,以显示图像和导航缩略图,下一个和上一个,也作为幻灯片运行 它似乎工作正常,除了我不能让当前显示的图像在下一幅图像淡出之前淡出 最初,所有图像都放在#holder DIV中的一个堆栈中,然后FadeIn和FadeOut按照我的预期工作,但我需要将图像放入一个数组中并根据需要加载,因为每个图像都会有几个不同的值 我可能犯了一些根本性的错误,或者我不理解FadeIn和FadeOut是如何正常工作的,因为我不是javascript和jquery方面的专家,我只是通过查看这里和类似站点上的示例勉强过关 我怀疑我可能需要在加载下一个图像之前以某种方式强制延迟,但我不知道如何做到这一点 谢谢Javascript Jquery fadeIn似乎没有发生,javascript,jquery,fadein,Javascript,Jquery,Fadein,我做了这个最小的测试,以显示图像和导航缩略图,下一个和上一个,也作为幻灯片运行 它似乎工作正常,除了我不能让当前显示的图像在下一幅图像淡出之前淡出 最初,所有图像都放在#holder DIV中的一个堆栈中,然后FadeIn和FadeOut按照我的预期工作,但我需要将图像放入一个数组中并根据需要加载,因为每个图像都会有几个不同的值 我可能犯了一些根本性的错误,或者我不理解FadeIn和FadeOut是如何正常工作的,因为我不是javascript和jquery方面的专家,我只是通过查看这里和类似站
<style type='text/css'>
#holder { position: absolute; top: 100px; background-color:#CCCCCC;
width: 300px; height: 200px;
}
.slides { position: relative; top: 0px;
display: none;
}
#thumbs li
{
display: inline;
list-style-type: none;
padding-right: 6px;
}
</style>
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
// define Global Vars
var timerON = null;
var files = [
["http://dummyimage.com/300x200/000/fff&text=Array-01", "http://dummyimage.com/40x40/000/fff&text=01","Title-01"] ,
["http://dummyimage.com/300x200/000/fff&text=Array-02", "http://dummyimage.com/40x40/000/fff&text=02","Title-02"] ,
["http://dummyimage.com/300x200/000/fff&text=Array-03", "http://dummyimage.com/40x40/000/fff&text=03","Title-03"] ,
["http://dummyimage.com/300x200/000/fff&text=Array-04", "http://dummyimage.com/40x40/000/fff&text=04","Title-04"] ,
["http://dummyimage.com/300x200/000/fff&text=Array-05", "http://dummyimage.com/40x40/000/fff&text=05","Title-05"] ,
["http://dummyimage.com/300x200/000/fff&text=Array-06", "http://dummyimage.com/40x40/000/fff&text=06","Title-06"] ,
["http://dummyimage.com/300x200/000/fff&text=Array-07", "http://dummyimage.com/40x40/000/fff&text=07","Title-07"]
]
var numImages = files.length;
// initial routines
showImage(1);
buildThumbs();
function showImage(num) {
//$('#holder img').fadeOut();
if ( $('#holder img').length > 0 ) { // fadeout existing
$("#holder img").fadeOut(700);
//alert("Faded OUT");
}
$("#holder").html('<img id="' + num + '" src="' + files[num-1][0] + '" style="display:none;"' + '" />');
$("#holder img").fadeIn(700);
//alert("Faded IN");
}
function buildThumbs() {
var thumbs = "";
for (cnt=0; cnt<files.length; cnt++) {
thumbs += '<li><a href="#" id="' + (cnt + 1) + '"><img src="' + files[cnt][1] + '" /></li>';
}
$('#thumbs').html(thumbs);
}
// Initialise routines for acting on click events
$(document).ready(function() {
$('#prev').click( function () {
var currImage = parseInt($('#holder img:visible').attr("id"));
if (currImage == 1) {
// at first position
}
else {
showImage(currImage-1); }
});
$('#next').click( function () {
var currImage = parseInt($('#holder img:visible').attr("id"));
if (currImage == numImages) {
// at last position
}
else {
showImage(currImage+1);
}
});
$('#thumbs a').click( function () {
var selImage = parseInt($(this).attr('id'));
var currImage = parseInt($('#holder img:visible').attr("id"));
showImage(selImage);
});
$('#slideShowBtn').click( function () {
slideShowCheck();
});
});
function slideShowCheck() {
if(timerON != null) {
clearTimeout(timerON);
timerON = null;
$('#slideShowBtn').text('Play Slideshow');
} else {
$('#slideShowBtn').text('Stop Slideshow');
slideShow();
}
}
function slideShow() {
var nextImage = 0;
var currImage = parseInt($('#holder img:visible').attr("id"));
if (currImage == numImages) {
nextImage = 1;
} else {
nextImage = currImage + 1;
}
showImage(nextImage);
timerON = setTimeout(slideShow, 3000);
}
});//]]>
</script>
</head>
<body>
<p>
<button id="prev">« Prev</button>
<button id="next">Next »</button>
</p>
<ul id="thumbs">
</ul>
<p>
<button id="slideShowBtn">Play Slideshow</button>
</p>
<div id="holder">
</div>
<div style="clear:both;"></div>
<ul id="thumbs2">
</ul>
</body>
</html>
#支架{位置:绝对;顶部:100px;背景色:#cccc;
宽度:300px;高度:200px;
}
.幻灯片{位置:相对;顶部:0px;
显示:无;
}
#大拇指李
{
显示:内联;
列表样式类型:无;
右边填充:6px;
}
//0){//fadeout存在
美元(“#持有人img”)。淡出(700);
//警惕(“淡出”);
}
$(“#持有人”).html(“”);
美元,法代因(700美元),;
//警惕(“淡入”);
}
函数buildThumbs(){
var thumbs=“”;
对于(cnt=0;cnt
&上
下一步»;
播放幻灯片
Callbacks,Callbacks,Callbacks。
JS做很多事情都是异步的,所以您需要在fadein上使用回调
$(ITEM1).fadeOut("fast", function() {
alert("all the way faded out");
$(ITEM2).fadeIn("fast");
});
这是您的。此外,您需要确保在淡入item2之前加载图像。就是这么简单。我想我需要了解回调,并检查是否已加载建议抱歉,由于声誉原因无法投票,无法与以前的帐户合并,该帐户的声誉超过100