【发布时间】:2017-10-15 18:17:00
【问题描述】:
我有一个结构如下的滑块:
<div class="wrapper">
<div class="slide" id="slide1">
<p>Slide1 Content</p>
</div>
<div class="slide" id="slide2">
<p>Slide1 Content</p>
</div>
</div>
包装器宽度为 100%,但幻灯片 div 具有以像素为单位的最大宽度(即 400 像素)。
有没有办法改变每张幻灯片的包装背景?我的意思是,例如,当第一张幻灯片处于活动状态时,包装背景变为黄色,而当第二张幻灯片处于活动状态时,包装背景变为红色。
据我所知,没有办法使用 CSS 来做到这一点。那么是否可以使用jquery来做到这一点?
我尝试了.wrapper:has() 选择器,但它没有按我预期的方式工作。
$(document).ready(function() {
if($(".wrapper:has(#slide1)")) {
$(".wrapper").css("background-color","yellow");
} else if($(".wrapper:has(#slide2)")) {
$(".wrapper").css("background-color","red");
}
});
它将背景变为黄色,因为包装器属于两张幻灯片。 你知道如何让它按照我想要的方式工作吗?
注意:我不是滑块插件的作者,所以我不能更改整个滑块代码。我只想做一些定制来满足我的需求。
【问题讨论】:
-
您使用的是什么插件(您的小提琴没有任何滑块功能)?首先,使用浏览器检查器工具检查幻灯片处于活动状态时 DOM 发生了什么变化(在其 div 中添加了一些类,出现另一个 div 等)。
-
@A.伊格莱西亚斯我正在使用fractionslider。可以在官网查看demo。
标签: javascript jquery html css slider