如何在同一页面上使用相同的jQuery脚本

时间:2016-03-31 22:12:02

标签: jquery wordpress code-reuse reusability

我从carouFredSel制作了一个滑块底座。

当我在一个页面中使用1个滑块时,它可以完美地工作。 但是当我在同一页面上使用2个滑块时,它会搞砸(第一个滑块正常工作但第二个滑块不起作用。)

这是我的剧本:

<script>
    if ($('.carmod17').length) {
        $('.carmod17').carouFredSel({
            responsive: true,
            pagination: "#fooitemcatcar2",
            prev: '#prevmod17',
            next: '#nextmod17',
            auto: true,
            scroll: {
                duration: 1500,
                pauseOnHover: true
            },
            items: {
                height: 'variable',
                visible: {
                    min: 1,
                    max: 1
                }
            }
        });
    }
</script>

jsfiddle中的工作代码如下所示。

JSFIDDLE

真的很感谢你的帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果滑块的类相似,您可以执行以下操作:

collectionView.reloadData()

如果所有滑块都有相同的类($('[class*="carmod"]').each(function(){ $(this).carouFredSel({...}); }); ),那么很容易:

.carmod17

在第一种情况下,您定位的是名称中包含$('.carmod17').each(function(){ $(this).carouFredSel({...}); }); 的所有类。现在有了这个,你必须确保只有你想要初始化滑块的包装器才有这样的类。因为如果其他一些DOM元素中包含carmod的类,并且您不希望它是滑块,那么这将不起作用。

如果你知道你的滑块会有carmod.carmod17.carmod18等类,那么你可以设置一个计数器来查看这些滑块的数量和放置数量它在for循环中:

.carmod19

现在取决于它是否从17开始,您将放置for( var i = 0; i < sliders.length; i++){ $('.carmod'+i).carouFredSel({...}); } ,然后将此17添加到计数器var i = 17(其中( sliders.length + 17 )是您在页面上的滑块你可以获取和计数)。

希望这有点帮助。