我在这里遇到了一个奇怪的问题,基本上我只想制作一个滑块,每个滑块项都有名为滑块背景的内部子项,它包含图像的 url / 路径的 data-src 自定义属性,然后我使用 jQuery 来更改背景-每个滑块背景的图像来自每个滑块的“data-src”属性值。
之前它工作得很好,在我更改 css 之后,它的行为很奇怪,我使用背景附件固定,所以当用户滚动时看起来滑块背景没有滚动,效果很好,但我把它们都放在了一个滑块。我将背景属性放在css端,只通过jquery动态更改图像,当我使用“固定”时,我得到的只是一个空白灰色(默认背景),但是当我使用除“固定”以外的任何背景附件时图像背景正确显示。这是为什么?
我在做同样的事情,使用相同的小滑块,但使用香草 js,它很好,相同的原理,但是这个,一个需要使用 jQuery 的新项目,它只是空白。
请帮助,请参阅下面的代码。谢谢!
var app = function() {
// change bg
app.setDataBackground('.hero .slider-background')
// methods
setDataBackground: function(container) {
if (jQuery(container).attr('data-src') != null) {
jQuery(container).css('background-image', 'url('+jQuery(container).attr('data-src')+')')
}
}
}
.hero .slider .slider-background {
width: 100%;
height: 100vh;
display: block;
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
<div id="tns1-mw" class="tns-ovh">
<div class="tns-inner" id="tns1-iw"><div class="slider slider-hero tns-slider tns-carousel tns-subpixel tns-calc tns-horizontal" id="tns1" style="transition-duration: 0s; transform: translate3d(-20%, 0px, 0px);"><div class="slider-item tns-item" aria-hidden="true" tabindex="-1">
<div class="slider-background" data-src="../../images/placeholder-bg3.jpg" alt="" style="background-image: url("../../images/placeholder-bg3.jpg");"></div>
</div>
<div class="slider-item tns-item tns-slide-active" id="tns1-item0">
<div class="slider-background" data-src="../../images/placeholder-bg1.jpg" alt="" style="background-image: url("../../images/placeholder-bg1.jpg");"></div>
</div>
<div class="slider-item tns-item" id="tns1-item1" aria-hidden="true" tabindex="-1">
<div class="slider-background" data-src="../../images/placeholder-bg2.jpg" alt="" style="background-image: url("../../images/placeholder-bg2.jpg");"></div>
</div>
<div class="slider-item tns-item" id="tns1-item2" aria-hidden="true" tabindex="-1">
<div class="slider-background" data-src="../../images/placeholder-bg3.jpg" alt="" style="background-image: url("../../images/placeholder-bg3.jpg");"></div>
</div>
<div class="slider-item tns-item" aria-hidden="true" tabindex="-1">
<div class="slider-background" data-src="../../images/placeholder-bg1.jpg" alt="" style="background-image: url("../../images/placeholder-bg1.jpg");"></div>
</div></div></div></div>