【发布时间】:2014-12-16 00:01:25
【问题描述】:
我正在尝试制作一个 jquery 基本图像轮播,单击箭头时图片应该淡出然后下一个淡入,但它无法正常工作并且动画第一次没有显示。但是,一旦看到图片,它就会正常工作。
var main = function() {
$('.arrownext').click(function() {
var currentSlide = $('.active');
var nextSlide = currentSlide.next();
if (nextSlide.length == 0) {
nextSlide = $('.pic').first();
}
currentSlide.fadeOut(500).removeClass('active');
nextSlide.fadeIn(500).addClass('active');
});
$('.arrowprev').click(function() {
var currentSlide = $('.active');
var prevSlide = currentSlide.prev();
if (prevSlide.length == 0) {
prevSlide = $('.pic').last();
}
currentSlide.fadeOut(500).removeClass('active');
prevSlide.fadeIn(500).addClass('active');
});
};
$(document).ready(main);
.arrowprev {
float: left;
margin-left: 30px;
}
.arrownext {
float: right;
margin-right: 30px;
}
.arrow img {
margin-top: 140px;
cursor: pointer;
padding: 10px 20px 10px 20px;
border-radius: 10px;
background-color: rgba(0, 0, 0, 0.8);
}
.pictures {
margin-left: auto;
margin-right: auto;
cursor: pointer;
padding-bottom: 20px;
}
.pic img {
display: none;
position: absolute;
padding: 10px 20px 10px 20px;
background-color: rgba(0, 0, 0, 0.8);
border-radius: 10px;
left: 0;
right: 0;
margin: auto;
}
.active img {
display: block;
position: absolute;
padding: 10px 20px 10px 20px;
background-color: rgba(0, 0, 0, 0.8);
border-radius: 10px;
left: 0;
right: 0;
margin: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pictures">
<div class="pic active">
<img src="http://consequenceofsound.files.wordpress.com/2013/07/number1.jpg" style="height:350px;">
</div>
<div class="pic">
<img src="http://tomreynolds.com/wp/wp-content/uploads/2014/01/2-graphic.png" style="height:350px;">
</div>
<div class="pic">
<img src="http://upload.wikimedia.org/wikipedia/commons/6/69/VET_3_circle.png" style="height:350px;">
</div>
<div class="pic">
<img src="http://www.westerndemons.com/.a/6a00d83420ece353ef01a73dbf8bb3970d-pi" style="height:350px;">
</div>
</div>
<div class="arrow">
<img class="arrowprev" src="https://cdn3.iconfinder.com/data/icons/faticons/32/arrow-left-01-128.png" alt="bed" style="width:20px;">
<img class="arrownext" src="http://www.myiconfinder.com/uploads/iconsets/7e81c2f3697b91ee17fe6ed6348c232a-Arrow.png" alt="bed" style="width:20px;">
</div>
【问题讨论】:
-
检查你的第一个 img src。从你的逻辑代码来看,没关系。
-
谢谢托德,图像加载正常,我想知道我是否没有正确“隐藏”它们或其他什么,如果你运行代码 sn-p 你可以看到它“跳跃”通过数字直到它达到数字 4 然后它开始动画和褪色,因为它应该。不知道第一次看到图片和第二次有什么区别?!
标签: jquery image animation dom carousel