我正在使用jquery ui tabs 1.8.1
我想绑定一个事件或脚本,以便在取消选中标签并选择任何其他标签时运行
例如。如果我有四个标签,则选择标签四 当我选择标签1或标签2时,应该运行一个事件 我可以阻止任何在标签4中运行的计时器
另一个相关的问题是,如果我使用this
运行任何计时器或者如果我使用标准jquery
使用setInterval在选择任何其他标签时,它不会自动停止...
任何解决方案都会有很大的帮助......
感谢
Pradyut
印度
答案 0 :(得分:0)
基本上你要做的就是每次选择一个标签时调用一个事件,除了时它的tab4,即:
当你的标签页看起来像这样
<div id="tabs">
<ul id="tablinks">
<li><a id="tab1" href="#tabs-1">First</a></li>
<li><a id="tab2" href="#tabs-2">Second</a></li>
<li><a id="tab3" href="#tabs-3">Third</a></li>
<li><a id="tab4" href="#tabs-4">Fourth</a></li>
</ul>
<div id="tabs-1"></div>
<div id="tabs-2"></div>
<div id="tabs-3"></div>
<div id="tabs-4"></div>
</div>
然后在“tablinks”无序列表中的每个标记上附加一个click事件,该列表没有“tab4”作为id:
$('#tablinks a[id!=tab4]').click(function(e){
//stoping timers or whatever
});
关于你的第二个问题,你提供的链接实际上是答案..
当您使用“everyTime”或“oneTime”创建计时器时,您可以将标签作为参数传递,这样您就可以随时使用“stopTime”方法停止计时器,即:< / p>
$(document).everyTime(1000, "doingSomething", function() {
// NOTE: "doingSomething" is the label of this timer
// make an annoying bleep sound or whatever
});
现在通过调用
来停止此计时器$(document).stopTime("doingSomething");
答案 1 :(得分:0)
如果绑定到“tabselect”事件,则可以确定当前选定的选项卡。这将允许您在选项卡切换之前执行特定于此选项卡的操作。您甚至可以从处理程序返回false以防止Tab切换。在jQuery UI演示站点的调试器(如Firebug)中尝试以下操作:http://jqueryui.com/demos/tabs/default.html
$('#tabs').bind('tabsselect', function(evt, ui) {
console.log($('#tabs').find('li.ui-tabs-selected a').attr('href'));
});
在处理程序中,您可以检查所选标签,并为取消选择的任何标签执行所需操作...