Jquery 循环错误
Jquery looping error
我正在jquery中创建一个滑块,但我不想在那里使用任何插件或existente滑块,所以我在循环中遇到了问题。当我到达最后一个图像时,一个空白的猿猴,它回到第一个图像,然后回到第二个图像,然后再次回到第一个图像,一遍又一遍地重复。
我不知道出了什么问题,所以我希望有人可以帮助我!谢谢狮子座!
.HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Slider</title>
<link rel="stylesheet" href="slider.css">
<script src="js/jquery-2.1.4.min.js"></script>
<script src="slider.js"></script>
</head>
<body>
<div class="slider">
<ul>
<li>
<img src="imagens/imagem1.jpg" alt="Imagem 1" />
</li>
<li>
<img src="imagens/imagem2.jpg" alt="Imagem 2" />
</li>
<li>
<img src="imagens/imagem3.jpg" alt="Imagem 3" />
</li>
</ul>
<!--<button class="prev">prev</button>
<button class="next">next</button>-->
</div>
.CSS
@charset "utf-8";
/* desktop */
@media screen and (min-width: 1025px){
body{
margin:0;
padding:0;
}
.slider{
width:100%;
height:400px;
position:realtive;
overflow:hidden;
padding:0;
margin:0;
}
.slider ul{
width:300%;
height:100%;
padding:0;
margin:0;
}
.slider li{
position:relative;
float:left;
display:inline-block;
width:33.3%;
height:100%;
list-style:none;
padding:0;
margin:0;
}
.slider img{
width:100%;
height:100%;
}
}
/* tablet */
@media screen and (min-width: 600px) and (max-width: 1024px){
body{
margin:0;
padding:0;
}
.slider{
width:100%;
height:400px;
position:realtive;
overflow:hidden;
padding:0;
margin:0;
}
.slider ul{
width:300%;
height:100%;
padding:0;
margin:0;
}
.slider li{
position:relative;
float:left;
display:inline-block;
width:33.3%;
height:100%;
list-style:none;
padding:0;
margin:0;
}
.slider img{
width:100%;
height:100%;
}
}
/* phone */
@media screen and (max-width: 599px) {
body{
margin:0;
padding:0;
}
.slider{
width:100%;
height:200px;
position:realtive;
overflow:hidden;
padding:0;
margin:0;
}
.slider ul{
width:300%;
height:100%;
padding:0;
margin:0;
}
.slider li{
position:relative;
float:left;
display:inline-block;
width:33.3%;
height:100%;
list-style:none;
padding:0;
margin:0;
}
.slider img{
width:100%;
height:100%;
}
}
JavaScript
(function(){
AutoPlay();
function AutoPlay(){
var $img = $('img');
var $animationSpeed = 1000;
var $pause = 3000;
var $totalImg = $img.length;
var $imgWidth = $img.width();
var $currentSlide = 1;
setInterval(function(){
$img.animate({'margin-left': '-='+$imgWidth}, $animationSpeed, function(){
$currentSlide++;
if($currentSlide > $totalImg){
$currentSlide = 1;
$img.css({'margin-left': 0});
}
});
}, $pause);
} // end AutoPlay function
}); // end main function
如果所有图像的宽度都相同,这有点工作......其他明智的是动画失败。
$(document).ready(function(){
var imgs = [
"img1.jpg",
"img2.jpg",
"img3.jpg"
];
var $img = $('#slider');
var $imgWidth = $img.width();
var $animationSpeed = 3000;
var $pause = 0;
setInterval(function(){
imgs.forEach(function(imgPath){
$img.animate({'margin-left': '-='+$imgWidth}, $animationSpeed, function(){
$img.attr("src", imgPath);
$img.attr("style","'margin-left: 0");
});
$pause = 9000;
});
}, $pause, $img);
//*** the rest of the code....
});
图像标签如下所示:
<img id="slider" style="width:500px;" src="img3.jpg" />
style="width:500px;"
因为它是我最大的照片的大小......它有很多工作要做,但是...希望对您有所帮助。
相关文章:
- 一个ajax循环有两个输出错误innerHTML
- 错误:Can't在从forEach循环发送标头后设置标头
- 循环的Javascript冻结浏览器,没有语法错误
- For 循环从错误的数字开始
- 无法使用JavaScript打印带有for循环的验证错误
- RxJS:在循环中处理错误.js自定义驱动程序
- 我只想在给出条件时调用一些循环.但这是错误
- 未捕获的类型错误:未定义不是函数,在中为循环创建了对象
- Bookshelf注册表插件和节点循环依赖性错误
- 精灵与身体错位,可以'在显示循环中找不到错误
- 循环遍历表中的行并获取行查找错误中的每个值
- Chrome/jQuery未捕获范围错误:超过了最大调用堆栈大小(函数循环)
- For循环以错误的顺序返回promise
- 循环的Javascript,直到出现错误
- 附加字符串时,for循环中出现Javascript[Object-Object]错误
- 错误:循环中的非对象上的 getElementsByTagName()
- 语法错误:循环程序中出现意外标记
- JavaScript NaN错误循环
- JavaScript抛出一个错误——循环中的代码不起作用
- 错误循环通过Ajax (JSON)响应