HTML:
<div id="rb-hero" class="rb-hero uk-block uk-flex uk-flex-middle uk-contrast arrowed">
<ul class="uk-slideshow uk-slideshow-fullscreen" id="biggie_slides" data-uk-slideshow="{pauseOnHover: false, autoplay:true}">
<li><img src="{theUrlMedium}" alt="{theAltText}" srcset="{theUrlSmall} 750w, {theUrlMedium} 1200w, {theUrlLarge} 2000w, {theUrlXL} 3000w" ></li>
</ul>
</div>
jQuery:
$('#rb-hero li img').each(function() {
var theSrc = $(this).prop('currentSrc');
// console.log(theSrc);
$(this).prev('div').attr('style', 'background-image: url( '+theSrc+' )');
});
UIKit提供了幻灯片功能,我正在使用它,它工作得很好。它的工作方式是将每个图像幻灯片用作动态创建的 div 上src
的内联样式属性。background-image
一切正常。
问题是 UIKit 没有使用提供的适当大小的图像(根据devtoolssrcset
中的信息,它也可以正常工作),它只是抓住了后备,因此在移动设备上时获得了相当高分辨率的图像。currentSrc
img src
我正在尝试遍历元素并将内联样式的background-image
源替换为currentSrc
,但我碰壁了。
该each()
方法正在发挥它的魔力,控制台srcset
在较小的屏幕上根据适当的源记录较小尺寸的图像,但内联样式的设置无处可去。
所以我错过了一些东西,它可能会很明显很刺眼,但除了睡觉之外,我还需要帮助。
谢谢。
编辑:将代码更新到更好的工作位置,现在只有最后一点不起作用。