我想在JavaScript中启用自动滑块和无限循环 $(文档).ready(函数(){ var-acch=1; $('.controls ul a')。单击(函数(){ var chno=$('.slider容器li').length; 开关($(this.attr('data-gallery')){ 案例“向左滑动”: 如果(acch
我认为这种实现更好,因为您可以在设计中添加任意数量的silde,而不会在代码中进行任何更改我想在JavaScript中启用自动滑块和无限循环 $(文档).ready(函数(){ var-acch=1; $('.controls ul a')。单击(函数(){ var chno=$('.slider容器li').length; 开关($(this.attr('data-gallery')){ 案例“向左滑动”: 如果(acch,javascript,jquery,html,slider,Javascript,Jquery,Html,Slider,我认为这种实现更好,因为您可以在设计中添加任意数量的silde,而不会在代码中进行任何更改 <script type="text/javascript"> $(document).ready(function() { var acch = 1; $('.controls ul a').click(function() { var chno = $('.slider-container li').length; switch($(this).attr('data-ga
<script type="text/javascript">
$(document).ready(function() {
var acch = 1;
$('.controls ul a').click(function() {
var chno = $('.slider-container li').length;
switch($(this).attr('data-gallery')){
case 'slide-left':
if (acch < chno){
acch++;
startSlide(acch);
}
break;
case 'slide-right':
if (acch <= 1){
acch = 1;
}else{
acch--;
startSlide(acch);
}
break;
}
})
function startSlide(itemNo){
var sTo = '#slider-item-' + itemNo;
$('#home-top-content').scrollTo($(sTo), 300);
}
$('.backToTop').click(function() {
$('html, body').animate({scrollTop:0}, 'slow');
})
})
</script>
$(文档).ready(函数(){
$('.controls ul a')。单击(函数(){
移动滑块($(此));
})
功能启动滑动(元素){
$(“#主页顶部内容”).scrollTo(元素,300);
}
$('.backToTop')。单击(函数(){
$('html,body')。动画({scrollTop:0},'slow');
})
setInterval(函数(){
移动滑块($('.controls-ul').find('a.arrow-right'));
},6000);
功能移动滑块(clickElement)
{
//在类处于活动状态时获取li,如果该计数为零,则将其作为第一个li
var currentActive=$('.slider容器li.slide-active');
var firstElement=$('.slider容器li:first');
var lastElement=$('.slider容器li:last');
如果(currentActive.length==0){
firstElement.addClass('slide-active');
currentActive=第一个元素;
}
开关(clickElement.attr('data-gallery')){
案例“向左滑动”:
//下一个
var nextElement=currentActive.next();
如果(nextElement.length==0)nextElement=firstElement;
$('.slider容器li.slide-active').removeClass('slide-active');
nextElement.addClass('slide-active');
startSlide(nextElement);
打破
案例“向右滑动”:
//先前的
var previousElement=$('.slider容器li.slide活动').prev();
如果(previousElement.length==0)previousElement=lastElement;
$('.slider容器li.slide-active').removeClass('slide-active');
previousElement.addClass('slide-active');
startSlide(先前的元素);
打破
}
}
})
我想我知道你的问题,但我不认为你真的问了。当然我不知道,我不是一个程序员,我需要为我的主题做锻炼。你尝试了什么?StackOverflow不是“plz send teh codez”类问题的网站。嗨,Nandakumar,这解决了无限循环问题,但我还需要添加一个自动滑块,我尝试了有些方法,但它只是不使用此脚本使用setInterval()
将上述代码转换为自动滑动器。我已更新了代码(未测试,使用自动滑动器和箭头单击可能会导致一些计时问题)。感谢真正解决问题的人,项目完成后我会立即更新您。非常感谢:)
<script type="text/javascript">
$(document).ready(function() {
$('.controls ul a').click(function() {
moveSliders($(this));
})
function startSlide(element){
$('#home-top-content').scrollTo(element, 300);
}
$('.backToTop').click(function() {
$('html, body').animate({scrollTop:0}, 'slow');
})
setInterval(function(){
moveSliders($('.controls ul').find('a.arrow-right'));
},6000);
function moveSliders(clickElement)
{
//Get li with class active if that count is zero put it as the first li
var currentActive = $('.slider-container li.slide-active');
var firstElement = $('.slider-container li:first');
var lastElement = $('.slider-container li:last');
if(currentActive.length == 0){
firstElement.addClass('slide-active');
currentActive = firstElement;
}
switch(clickElement.attr('data-gallery')){
case 'slide-left':
//Next
var nextElement = currentActive.next();
if(nextElement.length == 0)nextElement = firstElement;
$('.slider-container li.slide-active').removeClass('slide-active');
nextElement.addClass('slide-active');
startSlide(nextElement);
break;
case 'slide-right':
//previous
var previousElement = $('.slider-container li.slide-active').prev();
if(previousElement.length == 0)previousElement = lastElement;
$('.slider-container li.slide-active').removeClass('slide-active');
previousElement.addClass('slide-active');
startSlide(previousElement);
break;
}
}
})
</script>