Javascript 来自父数据属性的FlexSlider动态变量
我正在使用FlexSlider,需要从父数据属性获取Javascript 来自父数据属性的FlexSlider动态变量,javascript,jquery,flexslider,Javascript,Jquery,Flexslider,我正在使用FlexSlider,需要从父数据属性获取itemWidth <div class="flexslider" data-item-width="500"> <ul class="slides"> <li> <img src="slide1.jpg" /> </li> <li> <img src="slide2.jpg" /> </li&g
itemWidth
<div class="flexslider" data-item-width="500">
<ul class="slides">
<li>
<img src="slide1.jpg" />
</li>
<li>
<img src="slide2.jpg" />
</li>
<li>
<img src="slide3.jpg" />
</li>
<li>
<img src="slide4.jpg" />
</li>
<!-- items mirrored twice, total of 12 -->
</ul>
</div>
$(window).load(function() {
$('.flexslider').flexslider({
animation: "slide",
animationLoop: false,
itemWidth: $( this ).data( 'itemWidth' ),
itemMargin: 5
});
});
-
-
-
-
$(窗口)。加载(函数(){
$('.flexslider').flexslider({
动画:“幻灯片”,
animationLoop:false,
itemWidth:$(this).data('itemWidth'),
项目保证金:5
});
});
问题是$(this).data('itemWidth')
给出了未定义的。似乎我无法访问父数据属性。我做错了什么?使用.data()。它不会重新格式化它
此外,在此上下文中,此
引用了窗口
,因此它没有任何数据项宽度
属性。使用另一个选择器
如果您试图初始化具有不同属性的多个FlexSlider,则应使用$()。每个对其进行迭代。在这种情况下,您可以使用this
来引用当前的.flexslider
元素
$('.flexslider').each(function() {
$(this).flexslider({
animation: "slide",
animationLoop: false,
itemWidth: $( this ).data( 'item-width' ),
itemMargin: 5
});
});
data item width
和itemWidth
?不确定我是否收到了您的问题,但我想在FlexSlider中以itemWidth
参数的形式获取数据项宽度值。这并不重要,如果我也将其更改为上述代码,它仍然是未定义的。看来美元(这个)有问题。我理解这一点有点奇怪,但我们正在页面中实例化几个具有不同数据项宽度的旋转木马,我们需要参考此旋转木马数据属性。谢谢,它可以工作。我只是希望FlexSlider能够理解NAD$(this)
,因为它可以通过一次调用自动实例化不同的滑块。这在javascript中是一件非常棘手的事情。阅读这篇文章会对你有很大帮助: