创建了一个轮播,但如果有多个,则会出错。 (包括小提琴)
这是小提琴 http://jsfiddle.net/rgbjoy/q9VGh/
我想在上面有多个轮播一页,但不想影响全部。我该怎么办?
HTML:
<div class="project">
<div class="prev"> </div>
<div class="next"> </div>
<ul class="detail">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</div>
和 jQuery:
// Slider
$('.detail li:first').before($('.detail li:last'));
$('.next').click(function() {
var itemWidth = $('.detail li').outerWidth() + 10;
var leftIndent = parseInt($(".detail").css("left"), 10) - itemWidth;
$('.detail').animate({
'left': leftIndent
}, 400, function() {
$('.detail li:last').after($('.detail li:first'));
$('.detail').css({
'left': '-200px'
});
});
});
$('.prev').click(function() {
var itemWidth = $('.detail li').outerWidth() + 10;
var leftIndent = parseInt($('.detail').css('left'), 10) + itemWidth;
$('.detail').animate({
'left': leftIndent
}, 400, function() {
$('.detail li:first').before($('.detail li:last'));
$('.detail').css({
'left': '-200px'
});
});
});
-- 额外 --
我该如何让所有 li 项目变暗,而最左边的项目则不变暗?
非常感谢您的帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在做这样的事情:
$('.detail li')
将查找具有detail< 类的元素中的所有
来完成此操作="http://api.jquery.com/closest/" rel="nofollow">元素/代码>。您需要做的就是将搜索限制在适当的
.project
的子级中,并且您可以通过使用 .projectclosest
并使用find
:同样,
$(".detail")
变为$(this).closest('.project' ).find('.detail')
等等。You're doing things like this:
The
$('.detail li')
will find all<li>
elements within elements with a class ofdetail
. All you need to do is restrict your search to the children of the appropriate.project
and you can do that by going up the DOM to find your.project
usingclosest
and coming back down usingfind
:Similarly,
$(".detail")
becomes$(this).closest('.project').find('.detail')
and so on.