这只是继续对Flexslider lazyloading here的回答,我正在使用我在下面粘贴的代码.我想改变它,以便只在真正需要时加载图像. 我在之前和之后尝试过其他Flexslider属性:但是他们在第一张幻灯片
我在之前和之后尝试过其他Flexslider属性:但是他们在第一张幻灯片上创建了一个延迟?我可以帮忙解决这个问题.
$('#slider').flexslider({ start: function (slider) { // lazy load $(slider).find("img.lazy").each(function () { var src = $(this).attr("data-src"); $(this).attr("src", src).removeAttr("data-src"); }); } });我到底得到了一些帮助,这里我们有更少的代码:)
jQuery的:
$(window).load(function() { $('#sld-auto-930').flexslider({ // put your settings properties here after: function (slider) { //instead of going over every single slide, we will just load the next immediate slide 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"); } } });
HTML:
if($i > 0) { echo '<img class="lazy'.$i.'"src="" data-src="'.$src.'" alt="'.$alt.'">'; }else { echo '<img class="first'.$i.'"src="'.$src.'" alt="'.$alt.'">'; } $i++;