Javascript 使用jQuery在元素间循环
我有一个小脚本,可以前后循环浏览一些项目。这是一支简化的钢笔,显示了同样的问题: 左键可以正常工作,但右键有时也可以正常工作。在真实的网站上,除了iPad,左右键都可以在任何东西上正常工作。iPhone、Android和台式机都不错Javascript 使用jQuery在元素间循环,javascript,jquery,Javascript,Jquery,我有一个小脚本,可以前后循环浏览一些项目。这是一支简化的钢笔,显示了同样的问题: 左键可以正常工作,但右键有时也可以正常工作。在真实的网站上,除了iPad,左右键都可以在任何东西上正常工作。iPhone、Android和台式机都不错 真奇怪。感谢您的帮助。我不知道为什么。可能与我的脚本的其他部分存在某种冲突,但是用eq()替换n-child()并调整数学在iPad上解决了这个问题。使用.eq()而不是:n个child。此外,我们还可以通过使用模来减少对if块的需求(这一想法): $(函数(){
真奇怪。感谢您的帮助。我不知道为什么。可能与我的脚本的其他部分存在某种冲突,但是用eq()替换n-child()并调整数学在iPad上解决了这个问题。使用
.eq()
而不是:n个child
。此外,我们还可以通过使用模来减少对if块的需求(这一想法):
$(函数(){
var$slides=$('p.slide');
功能转换(步骤){
var$activeSlide=$('p.slide.active').removeClass('active');
var nextIndex=($slides.index($activeSlide)+step)%$slides.length;
$slides.eq(nextIndex.addClass('active');
}
$('.left')。on('click',$.proxy(transition,null,-1));
$('.right')。on('click',$.proxy(transition,null,1));
})();代码>
按钮{
字体大小:32px;
}
.幻灯片{
显示:无;
}
.slide.active{
显示:块;
}
☜ ☞
1:Lorem ipsum Door sit amet,Concetetur Adipising Elite。化名neque Essentialtibus,delaniti natus est dolores aut earum maiores ullam quas quis mollitia nemo,teneur magni。波罗透明膜中的威尼斯
为我工作。虽然我清理了其中的一些代码:事实上,这些代码都不是必需的:这里可能有重复的简化代码,重复的答案作为示例:谢谢Sukima。再试试看,是第n个child()引起了iPad上的问题。将其更改为eq(),现在可以工作了。
$(document).ready(function(){
var totalslides = $('p').length;
var currentslide;
var newslide;
$('.left').on('click', function() {
currentslide = $('p.active').index()+1;
if (currentslide == 1){
newslide = totalslides;
}
else {
newslide = currentslide-1;
}
$('p.active').removeClass('active');
$('p:nth-child('+newslide+')').addClass('active');
});
$('.right').on('click', function() {
currentslide = $('.slide.active').index()+1;
if (currentslide == totalslides){
newslide = 1;
}
else {
newslide = currentslide+1;
}
$('p.active').removeClass('active');
$('p:nth-child('+newslide+')').addClass('active');
});
});