简单的JQuery滑块不能正常工作
Simple JQuery slider not working properly
我是jQuery和javascript的新手,我正在制作一些动画来练习我的新技能。下面的代码是一个简单的滑动条,使用setInterval()循环4个滑动条,也可以在单击时导航。滑块工作良好,除了当第一张或最后一张幻灯片是活动的,按钮被点击。在这种情况下,滑块在返回之前显示空白幻灯片。当margin-left = -2880px时,我试图在点击时操纵ul,但没有成功。下面是我的代码:
var i = 0;
$(document).ready(function() {
setInterval(function() {
$("#my-slider").animate({"margin-left": "-=720px"}, 1000, function(){
i++;
if( i === 4 ) {
i = 0;
$("#my-slider").css("margin-left", 0);
}
});
}, 5000);
})
$(document).ready(function() {
$(".right").click(function() {
$("#my-slider").animate({"margin-left": "-=720px"}, 1000);
});
$(".left").click(function() {
$("#my-slider").animate({"margin-left": "+=720px"}, 1000);
});
});
.slider-wrapper {
width: 50%;
height: 400px;
margin: 0 auto;
overflow: hidden;
}
.slider-wrapper ul {
list-style-type: none;
width: 3600px;
max-width: 3600px;
height: 400px;
padding: 0;
margin: 0;
}
.slider-wrapper li {
float: left;
width: 720px;
height: 400px;
}
#slide1 {
background: #04151F;
}
#slide2 {
background: #183A37;
}
#slide3 {
background: #EFD6AC;
}
#slide4 {
background: #C44900;
}
#slide5 {
background: #04151F;
}
.left, .right {
font-size: 40px;
z-index: 1;
position: fixed;
float: right;
margin: -15% 0 0 0.5%;
cursor: pointer;
color: #FFF;
}
.right {
margin-left: 47%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slider-wrapper">
<ul id="my-slider">
<li id="slide1"></li>
<li id="slide2"></li>
<li id="slide3"></li>
<li id="slide4"></li>
<li id="slide5"></li>
</ul>
<p class="left">←</p>
<p class="right">→</p>
</div>
谢谢你的帮助。
我认为这是最简单的解决方案!
https://jsfiddle.net/nbLz6zzb/1/
var i = 0;
$(document).ready(function() {
setInterval(function() {
$("#my-slider").animate({"margin-left": "-=720px"}, 1000, function(){
i++;
if( i === 4 ) {
i = 0;
$("#my-slider").css("margin-left", 0);
}
});
}, 5000);
/////////////////////////////////////
$(".right").click(function() {
$("#my-slider").animate({"margin-left": "-=720px"}, 1000, function(){
i++;
if( i === 4 ) {
i = 1;
$("#my-slider").css("margin-left", 0);
}
});
});
$(".left").click(function() {
if ( $("#my-slider").css("margin-left") <= '720px' && $("#my-slider").css("margin-left") >= '0px') {
$("#my-slider").animate({"margin-left": "-2880px"}, 1000);
} else {
$("#my-slider").animate({"margin-left": "+=720px"}, 1000);
}
});
});
.slider-wrapper {
width: 50%;
height: 400px;
margin: 0 auto;
overflow: hidden;
}
.slider-wrapper ul {
list-style-type: none;
width: 3600px;
max-width: 3600px;
height: 400px;
padding: 0;
margin: 0;
}
.slider-wrapper li {
float: left;
width: 720px;
height: 400px;
}
#slide1 {
background: #04151F;
}
#slide2 {
background: #183A37;
}
#slide3 {
background: #EFD6AC;
}
#slide4 {
background: #C44900;
}
#slide5 {
background: #04151F;
}
.left, .right {
font-size: 40px;
z-index: 1;
position: fixed;
float: right;
margin: -15% 0 0 0.5%;
cursor: pointer;
color: #FFF;
}
.right {
margin-left: 47%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slider-wrapper">
<ul id="my-slider">
<li id="slide1"></li>
<li id="slide2"></li>
<li id="slide3"></li>
<li id="slide4"></li>
<li id="slide5"></li>
</ul>
<p class="left">←</p>
<p class="right">→</p>
</div>
按钮也需要使用循环中的代码。
$(document).ready(function() {
$(".right").click(function() {
$("#my-slider").animate({"margin-left": "-=720px"}, 1000, function(){
i++;
if( i === 4 ) {
i = 0;
$("#my-slider").css("margin-left", 0);
}
});
});
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作