这是一个大幻灯片。
把它们分开怎么样?文本滚动条,后面有一个大精灵,您可以使用 css 更改背景中的图像。
首先,您需要滚动一些文本。有各种各样的图像滚动器也可以为您滚动文本。如果您使用 jcarousel,则只需按照文本滚动条进行操作
其次,决定是否要为图像使用 sprite 和 div / body 元素。您需要设置您选择的高度和宽度,并确保设置了“display:block”或“display:inline-block”。
最后,锁定“文本滚动”以了解何时滚动图片。(您也可以将此想法用于 $("#some-other-carousel .jcarousel-prev").click() 并推进单独的轮播)
例子:
<body style="background:url(/some/sprite.png) no-repeat 0 0;">
<ul id="text-id">
<li>whatever</li>
<li>a jcarousel</li>
<li>text carousel</li>
<li>needs</li>
</ul>
</body>
js
$(function(){
//start the carousel with whatever it needs to scroll text
$("#text-id").jcarousel();
// y - size of your sprite
var totalSpriteYsize = 400;
// your example used the body element for a picture background, so that's what this does
var $body = $("body");
// 'listen' for your text carousel clicks, and alter the background picture
$body.on({"click":function(event){
var curPosition = parseInt($body.css("background-position-y"),10);
var adjustY =100;
// all sprite Y positions go negative from 0, and we don't want to go off the end of the sprite
var newPosition = -((curPosition - adjustY) % totalPicYsize);
if($(this).is(".jcarousel-prev"){
newPosition = -((curPosition + adjustY) % totalPicYsize);
}
$body.css("background-position-y", newPosition+"px");
//this .on selector decides which 'clicks' to listen to.
}},".jcarousel-prev,.jcarousel-next",null);
});