jQuery ui tabs mouseover和mouseleave

时间:2011-05-07 22:21:39

标签: jquery

我想为我的jquery标签创建一个简单的mouseleave功能。我整天都在搜索解决方案,似乎没什么用。

$( "#tabs" ).tabs({
    selected: -1,
    event: "mouseover"
});

这会创建我正在寻找的初步功能,但我希望标签在mouseleave上返回“selected:-1”。

有没有人能解决看似简单的问题?

谢谢Chris

4 个答案:

答案 0 :(得分:1)

试试这个:

$( "#tabs" )
    .tabs({
        selected: -1,
        event: "mouseover"
    })
    .mouseleave(function(){
        $(this).tabs("option", "selected", -1);                           
    })
;

使用tabs("option", "selected", xxx),我们更改选定的选项卡(jquery ui文档)

希望这会有所帮助。干杯

答案 1 :(得分:1)

我试图完成你想做的同样的事情。我做的事情有点不同,但我找到了办法。

我的设置是这样的。选项卡1实际上是隐藏的,用作默认面板。 Tab2到Tab5是我的可见按钮。你将鼠标悬停在那些上面,然后用相应的内容显示div。

所以,我修改了代码并整理了我自己的解决方案,因为上面的解决方案似乎对我没用。这可能是因为我修改第一个标签的方式。

我无法获得“选项”,“选择”做任何事情,所以我用它来代替。我只在Chrome浏览器中对此进行了测试。它在那里很棒。

这就是我需要做的就是让鼠标输出时显示初始默认面板:

jQuery( "#tabs" ).tabs({ selected: -1, event: "mouseover" }).mouseleave(
       function(){ 
            jQuery(this).tabs( "option", "active", 0 ); console.log('out'); 
        });

答案 2 :(得分:0)

这有用吗?

$("#tabs").mouseout(function () {
    selected: 1
}).mouseover(function () {
    selected: -1
});

答案 3 :(得分:0)

奇怪的是,.tabs("select","-1")实际上转到第一个标签而不是初始状态。可能有更好的方法,但这有效:

http://jsfiddle.net/Nsdwh/

基本上当鼠标离开时,删除并重新添加标签。