在多个div上运行jQuery函数(从img标记获取背景图像,并使用CSS将其应用为节背景)
我正在尝试获取每个部分的图像src,并使用jQuery将其应用到以CSS作为背景图像属性的部分。我需要获取CMS加载的图像URL并使用CSS将其添加到部分的原因是,我可以使用背景附件属性使每个图像固定,从而创建一个很酷的视差效果 页面的html结构基本上如下所示:在多个div上运行jQuery函数(从img标记获取背景图像,并使用CSS将其应用为节背景),jquery,css,function,Jquery,Css,Function,我正在尝试获取每个部分的图像src,并使用jQuery将其应用到以CSS作为背景图像属性的部分。我需要获取CMS加载的图像URL并使用CSS将其添加到部分的原因是,我可以使用背景附件属性使每个图像固定,从而创建一个很酷的视差效果 页面的html结构基本上如下所示: <section id="section-1" class="has-background"> <div class="section-background"> <img data-src="
<section id="section-1" class="has-background">
<div class="section-background">
<img data-src="url-1">
</div>
</section>
<section id="section-2" class="has-background">
<div class="section-background">
<img data-src="url-2">
</div>
</section>
<section id="section-3" class="has-background">
<div class="section-background">
<img data-src="url-3">
</div>
</section>
因此,我的问题是,如何创建一个函数,从节中获取背景图像,并使用CSS将其应用为背景图像,并且为每个具有背景图像的节执行此操作?使用。each()
为选择器匹配的每个元素运行一个代码块:
$('.section background img')。每个(函数(){
var$targetImg=$(this);//当前img
var imgSrc=$targetImg.attr('data-src');
var$parentDiv=$targetImg.closest(“.has background”);
$parentDiv.css(…);
});
我认为你的问题与我的问题有相似的逻辑。您需要设置脚本/命令应放置的目标。
您可能希望使用
.next()
和each()
,或设置数据目标=“#targetId”
将脚本放在特定元素上。这是我的帖子:
var imageUrl = $('.section-background img').attr("data-src");
$('.has-background').css({'background-image': 'url(' + imageUrl + ')', 'background-size': 'cover', 'background-attachment': 'fixed'});