2013-08-31 16 views
1

我有一個完美的工作jquerytools手風琴/選項卡,隨鼠標懸停而變化。在jquerytools中手動更改選項卡以在鼠標超出選項卡容器時具有默認選項卡

我希望當鼠標不在標籤容器中時,會激活默認選項卡,而不是最後激活的選項卡。

我的JavaScript如下:

$(function() { 
    $("#accordion").tabs("#accordion div", { 
    tabs: 'img.tab', 
    effect: 'fade', 
    event: 'mouseover' 
    });  
}); 

$('#accordion').mouseout(function(){ 
    // How should I activate a special tab? 
}); 

EDIT

#accordion容器的HTML:

class="tab"
<div id="accordion"> 
    <!-- accordion header #1 --> 
    <div> 
     <img src="img/sample-tab-content.png" /> 
    </div> 
    <img class="tab" src="./img/tab-title-activities.png" /> 

    <div> 
     <h3>apprenticeship</h3> 
     <p>Cras diam. Donec dolor lacus, vestibulum at, varius in, mollis id, dolor. Aliquam erat volutpat.</p> 
    </div> 
    <img class="tab" src="./img/tab-title-apprenticeship.png" /> 

    <div> 
     <h3>association</h3> 
     <p>Non lectus lacinia egestas. Nulla hendrerit, felis quis elementum viverra, purus felis egestas magna.</p> 
    </div> 
    <img class="tab" src="./img/tab-title-association.png" /> 
</div> 

圖像是選項卡及其以上HTML是標籤NTS。

我現在可以看到,我甚至遇到了#accordion容器的mouseout事件。

即使下面的代碼無法正常工作:給出

$('#accordion').mouseout(function(){ 
    alert('done'); 
}) 

警報兩次當鼠標進入任何一個的#container孩子。


EDIT 2

我不得不使用mouseleave,而不是mouseout作爲事件,這把我們帶回的主要問題(選擇默認選項卡):

$('#accordion').mouseleave(function(){ 
    $('#accordion').tabs('select', 1); 
}) 

該代碼停止更改標籤並徹底損壞標籤欄。

回答

1

更新

$('#accordion').leave(function(){ 
    // How should I activate a special tab? 
    var $accordion = $("#accordion").accordion(); 
    $accordion.accordion("option","active",1); //go to first tab on mouseleave 

}); 

是你需要什麼:))

+0

謝謝,但它並沒有幫助。我可以看到,即使'$('#accordion')。mouseout(function(){alert('done');});'不能按預期工作。即使鼠標懸停在「#accordion」或它的孩子身上,它也會發射兩次。 –

+1

這很奇怪......你可以給我一個js小提琴,或者只是給我所有的頁面上的代碼,所以我可以嘗試找出什麼可能是錯的? – roasstbeef

+0

謝謝,我用標記更新了問題。 –

相關問題