Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自父数据属性的FlexSlider动态变量_Javascript_Jquery_Flexslider - Fatal编程技术网

Javascript 来自父数据属性的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

我正在使用FlexSlider,需要从父数据属性获取
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中是一件非常棘手的事情。阅读这篇文章会对你有很大帮助: