【问题标题】:Lazy loading flexslider延迟加载 flexslider
【发布时间】:2014-01-16 22:59:10
【问题描述】:

我的 Javascript 技能充其量只是初学者,但我尝试从 here 实现延迟加载 flexslider 解决方案。 滑块和加载运行良好,但是当我遇到控制台错误时滑块循环时:

“未捕获的类型错误:无法调用未定义的方法'removeAttr'”

我的 JS 坐在头上:

JS

  <script type="text/javascript" charset="utf-8">
     $(window).load(function() {
        $('.projcontainer').flexslider({
           slideshow: false,
           after: function(slider) {
              var slides = slider.slides,
                      index = slider.animatingTo,
                      $slide = $(slides[index]),
                      $img = $slide.find('img[data-src]');
              if ($img) {
                 $img.attr("src", $img.attr('data-src')).removeAttr("data-src");
              }
           }
        });
     });
  </script>

HTML:

<li>
   <img class="lazy" src="loading.gif" data-src="myimage.png"/>
</li>

在知识有限的情况下,我知道我需要完成“else if”语句,但这对我来说并没有发生。任何帮助将不胜感激。

【问题讨论】:

    标签: javascript loading lazy-evaluation flexslider


    【解决方案1】:

    if ($img) 更改为if ($img.length)。您的 if 条件将始终通过,因为 $img 永远不会为空(它是一个 jQuery 对象)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 2021-07-13
      • 2010-11-26
      相关资源
      最近更新 更多