来自父数据属性的 FlexSlider 动态变量
FlexSlider dynamic vars from parent data attributes
我正在使用 FlexSlider 的 this example,我需要从父数据属性中获取 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
});
});
问题是$( this ).data( 'itemWidth' )
给出了undefined。看来我无法访问父数据属性。我做错了什么?
使用 .data()
仅删除属性名称中的第一个 "data-"。它不会重新格式化它。
此外,在此上下文中,this
指的是 window
,因此它没有任何 data-item-width
属性。使用另一个选择器。
如果您尝试用不同的属性初始化多个 flexsliders,您应该使用 $().each
来遍历它们。在这种情况下,您可以使用 this
来引用当前的 .flexslider
元素。
$('.flexslider').each(function() {
$(this).flexslider({
animation: "slide",
animationLoop: false,
itemWidth: $( this ).data( 'item-width' ),
itemMargin: 5
});
});
我正在使用 FlexSlider 的 this example,我需要从父数据属性中获取 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
});
});
问题是$( this ).data( 'itemWidth' )
给出了undefined。看来我无法访问父数据属性。我做错了什么?
使用 .data()
仅删除属性名称中的第一个 "data-"。它不会重新格式化它。
此外,在此上下文中,this
指的是 window
,因此它没有任何 data-item-width
属性。使用另一个选择器。
如果您尝试用不同的属性初始化多个 flexsliders,您应该使用 $().each
来遍历它们。在这种情况下,您可以使用 this
来引用当前的 .flexslider
元素。
$('.flexslider').each(function() {
$(this).flexslider({
animation: "slide",
animationLoop: false,
itemWidth: $( this ).data( 'item-width' ),
itemMargin: 5
});
});