使功能分别对每个元素起作用

时间:2015-05-28 08:28:38

标签: javascript jquery html css wordpress

我正在创建一个wordpress元素,将在旋转木马中显示帖子摘录。为了演示我在做什么,我创建了一个带有旋转木马的html版本的github存储库。

https://github.com/dingo-d/Post-Excerpt-Carousel

旋转木马工作得很好,但我有一个问题,我不明白它来自哪里。当我在页面上有一个轮播时,一切正常。但如果同一页面上有两个或更多,该怎么办?

当您点击下一个图标时,您点击它的滑块将向左移动,并且类将从一个项目切换到另一个列表项目(活动类),但这些类将移动在网站上的所有旋转木马上(有一个html文件,在回购时有多个轮播)。

我已经创建了一个管理动作和点击的功能,我这样称呼它:

$('.post_excerpt_carousel').each(function(){
    var $this = $(this);
    post_excerpt_positioning($this);
});

我已经这样做了,所以我也可以在调整大小时切换它。

我创建了一个小提琴here但是更容易看到存储库并下载示例文件夹(更好的可见性)。

如何阻止班级切换所有轮播,只有当我点击某个轮播时才能切换它们?

编辑:Codepen预览:http://codepen.io/dingo_d/pen/doNyMw

1 个答案:

答案 0 :(得分:4)

问题发生在main.js的第61行:

var $a = $('.active');

您正在选择具有.active类的所有元素。

您只需将此行替换为:

即可解决此问题
var $a = $('.active', $carousel);

这样,它只会选择.active

中找到的$carousel