Javascript &引用;主动的;选项没有';不要更改所选选项卡
我使用的是jQueryMobile(不是jQueryUI)。我想做的是在不触发单击的情况下更改活动选项卡 HTMLJavascript &引用;主动的;选项没有';不要更改所选选项卡,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我使用的是jQueryMobile(不是jQueryUI)。我想做的是在不触发单击的情况下更改活动选项卡 HTML 表一内容 表二内容 表三内容 JS var-tabIndex=0; setInterval(函数(){ tabIndex++; 如果(tabIndex>=3) tabIndex=0; else if(tabIndex活动。基本上,选项->激活不用于更改选项卡选择,所以您要删除$(“#选项卡”)。选项卡(“选项”,“活动”,选项卡索引)来自您的代码?不,我希望它能为我工
表一内容
表二内容
表三内容
JS
var-tabIndex=0;
setInterval(函数(){
tabIndex++;
如果(tabIndex>=3)
tabIndex=0;
else if(tabIndex<0)
tabIndex=2;
$(“选项卡”).tabs(“选项”,“活动”,选项卡索引);
}, 3000);
发生的情况是选项卡内容正在切换,但活动选项卡没有切换。在不启动点击事件和尽可能利用jQuery Mobile/UI的情况下,如何切换这两个选项?为什么不模拟点击
$(“#选项卡”+tabIndex)。单击()代码>
而不是
$(“#选项卡”).tabs(“选项”,“活动”,选项卡索引)
您可以使用addClass
和removeClass
在$(“#tab”+tabIndex)
上对ui-btn-active
类进行操作。在递增之前使用removeClass
,递增之后使用tabIndex
和addClass
这是我的建议
更新
您可以使用开关语句根据tabIndex
在选项卡中显示内容。在tabIndex
递增之前隐藏所有选项卡内容,然后基于tabIndex
显示选项卡内容
这是新的
更新2
由于,您可以在选项卡Activate
事件上删除和添加ui btn类。我用什么更新了原来的小提琴。这是最新的
下面是您需要添加到代码中的选项卡Activate
事件:
$("#tabs").on("tabsactivate", function(e, ui) {
ui.oldTab.find("a").removeClass("ui-btn-active");
ui.newTab.find("a").addClass("ui-btn-active").focus();
});
因为我有另一个代码已经因为不同的原因触发了单击,我认为只要更改活动选项卡,我就可以使用选项->活动。基本上,选项->激活不用于更改选项卡选择,所以您要删除$(“#选项卡”)。选项卡(“选项”,“活动”,选项卡索引)代码>来自您的代码?不,我希望它能为我工作。但是它看起来不会改变选项卡按钮本身,而只是更改选项卡内容。将此添加到您的答案并获得一些代表。谢谢。我感谢奥马尔的帮助。你应该得到大部分的荣誉!好的,现在确认活动选项卡选择是通过css完成的,而不是通过选项->活动。谢谢你,奥马尔!tabs小部件从jqueryui导入jQM。ui不添加活动类,但jQM添加。这可以像我向您展示的那样修复,也可以更改jQM js文件中的原始代码。编辑:您可以添加.focus()
,因此另一种方法是在html标题中的jQM之后/之前导入jquery ui脚本?无需添加jquery ui;这个小部件已经包含在jQM中。
var tabIndex = 0;
setInterval(function(){
tabIndex++;
if (tabIndex >= 3)
tabIndex = 0;
else if (tabIndex < 0)
tabIndex = 2;
$("#tabs").tabs( "option", "active", tabIndex );
}, 3000);
$("#tabs").on("tabsactivate", function(e, ui) {
ui.oldTab.find("a").removeClass("ui-btn-active");
ui.newTab.find("a").addClass("ui-btn-active").focus();
});