Javascript 多个滑块同时滑动,而只有活动滑块应滑动
我有多个滑块,每个都在自己的部分->文章中。我的问题是:当我按下其中一个滑块上的“下一个”或“上一个”按钮时,所有滑块同时开始滑动 html: jsJavascript 多个滑块同时滑动,而只有活动滑块应滑动,javascript,jquery,Javascript,Jquery,我有多个滑块,每个都在自己的部分->文章中。我的问题是:当我按下其中一个滑块上的“下一个”或“上一个”按钮时,所有滑块同时开始滑动 html: js 如何修复此问题?这是因为您正在选择所有滑块类元素,因此这将为它们设置动画 如果改为选择幻灯片会怎么样 我决定完全抛弃我原来帖子中的javascript代码,最终改用以下代码: $(function() { $('article .wrapper').each(function(){ var slider = $(th
如何修复此问题?这是因为您正在选择所有滑块类元素,因此这将为它们设置动画 如果改为选择幻灯片会怎么样
我决定完全抛弃我原来帖子中的javascript代码,最终改用以下代码:
$(function() {
$('article .wrapper').each(function(){
var slider = $(this).find('.slider'),
parent = $(this),
step =855,
left = parseInt(slider.css('left'), 10),
max = parent.width() - slider.width(),
min = 0;
parent.find(".previous").click(function() {
if (left < 0) {
var newLeft = left + step;
left = (newLeft<min) ? newLeft : min;
slider.animate({
"left": left + 'px'
}, "slow");
}
});
parent.find(".next").click(function() {
if (left > max) {
var newLeft = left - step;
left = (newLeft>max) ? newLeft : max;
slider.animate({
"left": left + 'px'
}, "slow");
}
});
});
});
我还稍微修改了css中几个元素的宽度,现在它的效果就像一个符咒。Nope。混蛋们仍然跟着我点击的那个滑倒
.wrapper{
height: 342px;
margin: 0 auto;
overflow: hidden;
width: 918px;
}
.slider{
height: 342px;
position: relative;
width: 5000px;
}
.slide{
float: left;
height: 342px;
position: relative;
width: 306px;
}
/* slider */
$(function(){
var i = 0;
$('.previous').click(function(){
var currentSlides = $(this).parent().find('.slide'),
parent = $(this).parent().find('.wrapper ul li');
i = --i -2 % currentSlides.length;
if(i - 3 >= -3) {
$('.slider').animate({'left' : -(parent.eq(i).position().left)}, 600);
} else {
i = 0;
}
});
$('.next').click(function(){
var currentSlides = $(this).parent().find('.slide'),
parent = $(this).parent().find('.wrapper ul li'),
current = i;
i = ++i + 2 % currentSlides.length;
if(i + 3 < currentSlides.length) {
$('.slider').animate({'left' : -(parent.eq(i).position().left)}, 600);
} else {
i = current;
}
});
});
$(function(){
var i = 0;
$('.previous').click(function(){
var currentSlides = $(this).parent().find('.slide'),
parent = $(this).parent().find('.wrapper ul li');
i = --i -2 % currentSlides.length;
if(i - 3 >= -3) {
$('.slide').animate({'left' : -(parent.eq(i).position().left)}, 600);
} else {
i = 0;
}
});
$(function() {
$('article .wrapper').each(function(){
var slider = $(this).find('.slider'),
parent = $(this),
step =855,
left = parseInt(slider.css('left'), 10),
max = parent.width() - slider.width(),
min = 0;
parent.find(".previous").click(function() {
if (left < 0) {
var newLeft = left + step;
left = (newLeft<min) ? newLeft : min;
slider.animate({
"left": left + 'px'
}, "slow");
}
});
parent.find(".next").click(function() {
if (left > max) {
var newLeft = left - step;
left = (newLeft>max) ? newLeft : max;
slider.animate({
"left": left + 'px'
}, "slow");
}
});
});
});