我有一个保存背景图像的DIV,并通过如下所示传递data-bg属性,通过引导轮播项目更改来更改它们:
HTML
<div class="bg-holder" data-bg="bg-1">
<div id="carousel">
<div class="carousel-item active" data-bg="bg-1">
.... some slider content
</div>
<div class="carousel-item" data-bg="bg-2">
.... some slider content
</div>
</div>
</div>
JS
const bgHolder= document.querySelector(".bg-holder");
$('#carousel').on('slide.bs.carousel', function (e) {
bgHolder.dataset.bg = e.relatedTarget.dataset.bg;
})
CSS
.bg-holder[data-bg="bg-1"] {
background-image: url(image1.jpg)
}
.bg-holder[data-bg="bg-2"] {
background-image: url(image2.jpg)
}
我默认设置data-bg =“ bg-1”,然后在每次轮播更改时,我都会传递新的data-bg值。它在除IE11之外的所有现代浏览器中都很好用,IE11不会从css刷新图像,并且会一直显示默认情况下加载的图像。当我打开开发人员工具并取消/选中声明时,它将显示正确的图像。有什么想法吗?
background-image
设置为bg-holder
的内联样式,并根据bg
的值在每次轮播更改时对其进行更改。示例代码如下: