jQuery图像滑块
jQuery Image Slider
我正在从本教程中构建一个jQuery图像滑块- https://www.youtube.com/watch?v=QtYP_eSVKfs.
我刚刚完成了第二部分——构建自动图像幻灯片。结果应该是图像从1循环到4,然后在淡入和淡出时再次返回。
然而,当我加载页面时,第一个图像淡入,但循环没有开始。第一个图像只保留在显示器上。
我猜这与我的startSlider函数有关,但我找不到问题。我做错了什么?
HTML:<html>
<head>
<link href="styles.css" rel="stylesheet" type="text/css">
<meta charset="utf-8">
<title>Slider</title>
</head>
<body>
<div class="wrapper">
<div id="slider">
<img id="1" src="images/image1.jpg">
<img id="2" src="images/image2.jpg">
<img id="3" src="images/image3.jpg">
<img id="4" src="images/image4.jpg">
</div>
<a href="#" class="left">Previous</a>
<a href="#" class="right">Next</a>
</div>
<script src="jquery.js"></script>
<script src="scripts.js"></script>
</body>
</html>
CSS: #wrapper {
width: 600px;
margin: 0 auto;
}
#slider {
width: 600px;
height: 400px;
overflow: hidden;
margin: 30px auto;
}
#slider > img {
width: 600px;
height: 400px;
float: left;
display: none;
}
a {
padding: 5px 10px;
background-color: #F0F0F0;
margin-top: 30px;
text-decoration: none;
color: #666;
}
a.left {
float: left;
}
a.right {
float: right;
}
脚本:
var sliderInt = 1;
var sliderNext = 2;
$(document).ready(function(){
$('#slider > img#1').fadeIn(300);
startSlider();
});
function startSlider() {
count = $('#slider > img').length();
if(sliderNext > count) {
sliderNext = 1;
sliderInt = 1;
}
loop = setInterval(function() {
$('#slider > img').fadeOut(300);
$('#slider > img#' + sliderNext).fadeIn(300);
sliderInt = sliderNext;
sliderNext = sliderNext + 1;
}, 3000);
}
length
不是length()
,将if放在setInterval函数
var sliderInt = 1;
var sliderNext = 2;
$(document).ready(function() {
$('#slider > img#1').fadeIn(300);
startSlider();
});
function startSlider() {
count = $('#slider > img').length;
loop = setInterval(function() {
$('#slider > img').fadeOut(300);
$('#slider > img#' + sliderNext).fadeIn(300);
sliderInt = sliderNext;
sliderNext = sliderNext + 1;
if (sliderNext > count) {
sliderNext = 1;
sliderInt = 1;
}
}, 3000);
}
#wrapper {
width: 600px;
margin: 0 auto;
}
#slider {
width: 600px;
height: 400px;
overflow: hidden;
margin: 30px auto;
}
#slider > img {
width: 600px;
height: 400px;
float: left;
display: none;
}
a {
padding: 5px 10px;
background-color: #F0F0F0;
margin-top: 30px;
text-decoration: none;
color: #666;
}
a.left {
float: left;
}
a.right {
float: right;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<div class="wrapper">
<div id="slider">
<img id="1" src="http://lorempixel.com/400/200/">
<img id="2" src="http://lorempixel.com/400/200/sports/">
<img id="3" src="http://lorempixel.com/400/200/abstract/">
<img id="4" src="http://lorempixel.com/400/200/city/">
</div>
<a href="#" class="left">Previous</a>
<a href="#" class="right">Next</a>
</div>
要获取长度,应该使用length而不是length()
count = $('#slider> img').length();//错误
Count = $('#slider> img').length;//正确的
相关文章:
- 使用带括号的图像URL作为jQuery的背景
- 如何使用jquery将base64图像路径转换为真实路径
- 重新加载/替换图像 jQuery 作为
- 中的列表项
- 鼠标悬停在图像 jquery 上
- 使用图像 jQuery 切换
- 检查显示的(随机)图像是否与上一个(随机)图像(jQuery和JavaScript)相同
- 更改背景图像 jQuery
- 单击函数不在图像jQuery上启动
- 预览图像Jquery脚本don't运行良好
- 使用图像Jquery对话框预加载iFrame
- jQuery脉动代码与滚动图像jQuery代码冲突
- 检测粘贴事件在浏览器中的图像(jquery/javascript)
- 图像库与覆盖和html内部不能覆盖正确的图像.jquery
- 预加载图像- JQuery
- 使用HTML扩展图像&Jquery
- 从Rest API获取图像.JQuery的问题
- 使用尽可能多的独立线程检索5个图像- jquery ajax
- 点击图像jQuery -函数不工作后追加
- 如何使用XML数据更改网站上的图像&jQuery
- 在不向服务器发出新请求的情况下更改图像jQuery