我的简单滑块是重复
My simple slider is repeat
首先对不起我的英语:(
我创建了一个简单的滑块,它正在工作,
但当我的滑块重复两次时,
参见双滑块示例
点击下一个按钮或上一个按钮,它正在工作,但所有滑块都会更改图像,
我使用了HTML ID,
查看我的html代码:
<div class="slider_wrap">
<div class="slider_content">
<ul id="the_slider" class="slider_images">
<li>
<img src="slider_images/i5.jpg">
<p class="caption">Slider</p>
</li>
<li>
<img src="slider_images/i2.jpg">
<p class="caption">Slider is free</p>
</li>
<li>
<img src="slider_images/i3.jpg">
<p class="caption">Slider is free</p>
</li>
<li>
<img src="slider_images/i4.jpg">
<p class="caption">Slider is free</p>
</li>
</ul>
<i class="slider_next"></i>
<i class="slider_prev"></i>
</div>
</div>
查看我的jquery代码:
jQuery(window).load(function() {
jQuery('#the_slider li:first-child').addClass('slider_moving');
jQuery('#the_slider li').addClass('animated');
var $first = $('#the_slider li:first-child'),
$last = $('#the_slider li:last-child');
$(".slider_next").click(function () {
var $next,
$slider_moving = $(".slider_moving");
$next = $slider_moving.next('li').length ? $slider_moving.next('li') : $first;
$slider_moving.removeClass("fadeInLeft fadeInRight");
$slider_moving.removeClass("slider_moving").fadeOut(500);
$next.addClass('fadeInRight');
$next.addClass('slider_moving').fadeIn(500);
});
$(".slider_prev").click(function () {
var $prev,
$slider_moving = $(".slider_moving");
$prev = $slider_moving.prev('li').length ? $slider_moving.prev('li') : $last;
$slider_moving.removeClass("fadeInRight fadeInLeft");
$slider_moving.removeClass("slider_moving").fadeOut(500);
$prev.addClass('fadeInLeft');
$prev.addClass('slider_moving').fadeIn(500);
});
});
问题是,在上一次和下一次单击事件中,您使用类来选择滑块,因此,您同时选择了两个滑块。
您想做的是遍历dom以找到父滑块元素,这样您将只使用特定的滑块。
$nextButton = $(this);
$sliderContainer = $nextButton.closest('.perso_slider_content');
编辑:根据您的请求,这里是您编辑的js代码:
jQuery(window).load(function() {
jQuery('#the_slider li:first-child').addClass('perso_slider_moving');
jQuery('#the_slider li').addClass('animated');
$(".perso_slider_next").click(function () {
var $nextButton = $(this);
var $sliderContainer = $nextButton.closest('.perso_slider_content');
var $first = $sliderContainer.find('li:first-child');
var $next,
$perso_slider_moving = $sliderContainer.find('.perso_slider_moving');
$next = $perso_slider_moving.next('li').length ? $perso_slider_moving.next('li') : $first;
$perso_slider_moving.removeClass("fadeInLeft fadeInRight");
$perso_slider_moving.removeClass("perso_slider_moving").fadeOut(500);
$next.addClass('fadeInRight');
$next.addClass('perso_slider_moving').fadeIn(500);
});
$(".perso_slider_prev").click(function () {
var $prevButton = $(this);
var $sliderContainer = $prevButton.closest('.perso_slider_content');
var $last = $sliderContainer.find('li:last-child');
var $prev,
$perso_slider_moving = $sliderContainer.find(".perso_slider_moving");
$prev = $perso_slider_moving.prev('li').length ? $perso_slider_moving.prev('li') : $last;
$perso_slider_moving.removeClass("fadeInRight fadeInLeft");
$perso_slider_moving.removeClass("perso_slider_moving").fadeOut(500);
$prev.addClass('fadeInLeft');
$prev.addClass('perso_slider_moving').fadeIn(500);
});
});
相关文章:
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 简单的身体加载功能不会触发我的功能
- 我的剧本赢了'不能在IE中工作(甚至9)?修改复制文本的简单javascript
- 正在寻找一个简单的JavaScriptHTMLGUI构建器,我可以将其嵌入到我的网站中
- 我的简单Javascript代码可以在Safari上运行,但不能在Chrome、Firefox或Opera上运行
- 在一个简单的jquery幻灯片中,我的类到达图像的末尾,然后从DOM的边缘掉下来
- 简单的秒计时器使用javascript并显示在我的html中
- 制作一个简单的JavaScript滑块,我将如何为我的图像添加描述
- 为什么我的简单 if 语句在 javascript 中不呈现 false
- 我的简单代码中的奇怪文本位置
- 无法从我的简单 nodejs 服务器获得正确的 json 响应
- 为我的网站使用Facebook API JSON的最简单方法(哪种语言以及如何语法)
- 有没有更简单的方法可以在 jquery 中验证我的表单而不是我所拥有的?
- 为什么我的简单用户脚本不起作用
- 知道为什么我的简单脚本在页面中途停止工作
- 我的简单脚本有什么问题
- 为我的简单 JavaScript 函数添加回调功能
- Javascript 简单检查网络表单,以确保它包含数字和字母(而不是我的代码)
- 为什么我的简单jQuery代码不适用于.css()方法
- 如何让我的 ASP 表控件显示/隐藏?(并不像听起来那么简单)