2011-10-25 36 views
0

我正在使用jQuery UI工具可以通过导航来滚动。我希望它能够自动自动播放,这很好,但是每当我与导航交互时,时间都会变得很奇怪。当导航点击时,Jquery Scrollable无法停止自动播放

我希望它在我点击任何导航链接时停止。我似乎无法滚动停止!

下面是踢它关闭代码:

HTML:

<div id="flowpanes"> 
     <div class="items"> 
      <div> 
       <h1>Content 1</h1> 
      </div> 
      <div> 
       <h2>Content 2</h2> 
      </div> 
      <div> 
       <h2>Content 3</h2> 
      </div> 
      <div> 
       <h2>Content 4</h2> 
      </div> 
     </div> 
    </div> 
    <ul id="flowtabs" class="navi"> 
     <li><a href="#one" class="current"></a></li> 
     <li><a href="#two"></a></li> 
     <li><a href="#three"></a></li> 
     <li><a href="#four"></a></li> 
    </ul> 

jQuery的激活它:

$(document).ready(function() { 
    $("#flowpanes").scrollable({ circular: true, mousewheel: true }).autoscroll({autoplay: true,interval: 5000,steps: 1}).navigator({ 
     navi: ".navi", 
     naviItem: 'a', 
     activeClass: 'current', 
     history: false, 
    }) 
}); 

我想这一点,但没有奏效:

$(".navi a").click (function(){ 
    api.stop() 
}); 

然后我试着添加js到实际的按钮,但我不认为我正确地指定它 - 像下面的代码需要别的东西来指向可滚动区域 - 滚动内容在ul.navi上方的特定div:

<ul id="flowtabs" class="navi"> 
    <li><a href="#one" class="current" onclick="api.stop()"></a></li> 
    <li><a href="#two" onclick="api.stop()"></a></li> 
    <li><a href="#three" onclick="api.stop()"></a></li> 
    <li><a href="#four" onclick="api.stop()"></a></li> 
</ul> 

我也尝试在历史记录下的导航器部分添加clickable:false:false,但这也不起作用。

任何人都可以帮忙吗?

+0

'api'是什么?它在哪里定义? – Joey

+0

您正在使用哪种'.scrollable'?其中有很多。 – Ariel

+0

@Ariel - 我正在使用[本页]的自动滚动功能之一http://flowplayer.org/tools/demos/scrollable/plugins/index.html#autoscroll – aligreene

回答

0

如果你看看jQuery UI的滚动例子的源代码在jQuery Scrollable他们使用此指令分配API对象到当前窗口:

// provide scrollable API for the action buttons 
window.api = root.data("scrollable"); 

你试过了吗?

+0

我没有!我认为这可能是我的解决方案 - 我现在就试试看,并希望在答案旁边给出一个很好的刻度标记:) – aligreene

+0

非常感谢。我准备把我的电脑扔到窗户上。 – aligreene

+0

对于其他可能有同样问题的人,我基本上将我的jquery的开头编辑为:var root = $(“#flowpanes”)。scrollable ....并添加了以下行:window.api = root.data( “滚动”); – aligreene

相关问题