我希望使用
jQuery.SerialScroll(基于
jQuery.ScrollTo)实现水平滚动.
我在this post讨论时,目前正在使用liScroll进行连续水平滚动.
但是,现在我需要离散滚动,我使SerialScroll完美地适用于垂直滚动.
出于某种原因,如果’axis’属性被指定为’x’,则不会发生任何事情.
我甚至无法让SerialScroll example for right to left scrolling工作.
我有像这样的HTML:
<div id="pane"> <div>Item 1</div> <div>Item 2</div> <div>Item 3</div> </div>
我有这样的jQuery,当轴为’y’时有效
jQuery(function($) { var $pane = $('#pane'); $pane.serialScroll({ items: 'div',next: $pane,// the container itself will get bound duration: 2100,force: true,axis: 'x',step: 1,//scroll 1 news each time event: 'showNext' //just a random event name }); setInterval(function() {//scroll each 12 seconds $pane.trigger('showNext'); },12000); });
有任何想法吗?
//编辑(接受答案)
对于那些出现的人来说,接受的答案摆脱了对“serialScroll”的需要(只需要scrollTo).高度不是必需的.一定要将$(‘scroller’)更改为$(‘mywrap’)或$(target.parent().parent()).您还可以像这样设置自动滚动:
var index = 2; setInterval(function() {//scroll each 5 seconds index = index > $('#news ul li').length ? 1 : index; sliderScroll($('#news ul li:nth-child(' + index + ')')); index ++; },5000);
将#news ul li替换为适当的选择器.
解决方法
我最近使用scrollTo来实现类似Coda的滑块向导.
这是我采取的步骤:
>将包含div设置为我希望滑块显示为的尺寸.溢出:汽车;有助于测试,但你可能想要使用overflow:隐藏到最后.
>在那里放置另一个div,使它足够大,可以水平放置所有元素.
>浮动面板.给他们明确的维度.
我的CSS:
.scroller{ position: relative; overflow: hidden; height: 410px; width: 787px;} .modal-content{width: 3400px;} .modal-content div{float:left; width:728px; height: 405px; padding: 0 30px;}
我的JS:
function sliderScroll(target){ if(target.length <1)return false; $(".current").removeClass("current"); target.addClass("current"); $(".scroller").scrollTo(target,500,{axis:'x'}); return false; }
我的HTML:
<div class="scroller"> <div class="modal-content"> <div>...</div> ... </div> </div>