我正在寻找一个JQuery解决方案,例如位于http://www.bazaarvoice.com的旋转横幅。
它具有定时滚动但也允许用户通过滚动标签来切换。有人知道一个好的,容易风格的吗?
答案 0 :(得分:8)
使用jQuery的Cycle Lite插件。 它有足够的空间和所需的所有功能:
See more advanced demos right here
编辑:以下是您的示例代码:
你需要Cycle plugin,而不是Cycle Lite插件
HTML:
<div id="slideshow">
<ul class="pager">
<!-- will be populated with thumbs by JS -->
</ul>
<!-- each div is considered as a slide show -->
<div><img src="/images/banner1.png" />You can place text here too !</div>
<div><img src="/images/banner2.png" /></div>
<div><img src="/images/banner3.png" /></div>
</div>
CSS:
.thumb.selected {
border: 2px gray solid;
}
ul.pager li {
list-style: none;
float: left;
width: 200px;
height: 80px;
background-color: #eee;
}
#slideshow > div {
background-color: #eee;
border: 1px solid #ddd;
}
使用Javascript:
$("#slideshow").cycle({
fx: 'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle)
timeout: 1000, // milliseconds between slide transitions (0 to disable auto advance)
speed: 400, // speed of the transition (any valid fx speed value)
pager: "#tabs",// selector for element to use as pager container
pagerClick: null, // callback fn for pager clicks: function(zeroBasedSlideIndex, slideElement)
pagerEvent: 'hover',// name of event which drives the pager navigation
pagerAnchorBuilder: function(i, slide){// callback fn for building anchor links: function(index, DOMelement)
return '<li class="thumb" id="thumb-1"><img src="' + slide.src + '" height="30" width="40" /></a></li>';
},
before: function(){ // deselect all slides
$(".thumb").removeClass('selected');
},
after: function(foo, bar, opts){ // select current slide
$("#thumb-"+opts.currSlide).addClass('selected');
},
fit: 1, // force slides to fit container
pause: 1, // true to enable "pause on hover"
pauseOnPagerHover: 1, // stop slideshow when pagers are being hovered
autostop: 0, // true to end slideshow after X transitions (where X == slide count)
autostopCount: 0, // number of transitions (optionally used with autostop to define X)
slideExpr: "div", // all content of div#slider is a slide. but not the pager
fastOnEvent: 100, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
});
享受,这是未经测试的,但应该有效。
EDIT2:
将pagerAnchorBuilder选项替换为return '<li class="thumb" id="thumb-1"><img src="' + slide.src + '" /></a></li>';
我想你想改变宽度和/或高度。 Juste删除HTML高度,并使用CSS属性:.thumb img { height: 10px; width: 10px; }
您还可以添加一些自定义CSS属性。