1

嗨堆栈溢出偷看,

我没有为此工作的代码,因为我不确定从哪里开始。所以提前道歉。

我已经在互联网上搜索了一个解决方案,但这感觉它可能非常简单(而且我把事情复杂化了)或者它有点专业。


当前情况:我正在使用Cycle2作为我选择的滑块(并且更愿意坚持使用它 - 很难让我使用另一个滑块,TBH)。每张幻灯片都有一个特定的“颜色”类,以及一个“幻灯片”类

我需要什么<body>:我需要根据活动班级的颜色更改班级。

想法:所以我还没有颜色类的命名约定,但我的想法是它可能类似于[name].col-[name]是黄色、红色等。所以当滑块的活动类是col-yellow时,它将此类添加到 中,因此我可以将背景颜色/图像(我想要的任何 CSS)添加到正文。<body>

然后,一旦活动幻灯片发生更改,并且如果它碰巧将其 body 类更改为col-red之类的东西,则<body>匹配。

我希望这是有道理的,并且是 Stack Overflow 领域的一些很棒的人可以帮助我的事情。


感谢您抽时间阅读!

4

1 回答 1

0

不久前我回答了一个类似的问题。

演示 http://jsfiddle.net/kevinPHPkevin/7VzaQ/3/

$('.cycle-slideshow').on('cycle-before', function (event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag) {
var bg = $(incomingSlideEl).find('img').css('backgroundColor');
$('body').css('background', bg);
});

希望这可以帮助

[已编辑] 我已经编辑了代码,所以现在它将相同的类分配给分配给活动幻灯片的主体

演示http://jsfiddle.net/kevinPHPkevin/7VzaQ/4/

只是为了解释我做了什么 - 正如您在上面的代码中看到的那样,我创建了一个var被调用的bg. 这var是活动幻灯片的 CSS 背景颜色。然后我将其分配给varbody 标签的背景。正如您所要求的那样,您想要改变班级,而不仅仅是改变风格。鉴于此,我只是更改了代码,以便它找到attr class而不是 CSS 背景颜色。

之前的 Var 片段:

var bg = $(incomingSlideEl).find('img').css('backgroundColor');
    $('body').css('background', bg);

变量片段之后:

var bg = $(incomingSlideEl).find('img').attr('class');
$('body').attr('class', bg);
于 2013-06-01T10:21:22.793 回答