2011-06-09 52 views
0

我在懸停事件上構建了一個jQuery幻燈片。在頁面底部,我有滑塊元素,當鼠標懸停元素時它將展開。我有一個選項卡,它將伸出元素的頂部以提醒用戶該功能存在。此選項卡導致我很多問題,並且當您將鼠標懸停在選項卡上時,該元素將反覆展開和收縮。我試過編輯CSS,當我刪除了margin-top時它工作正常,但這不是設計的目的。我試圖添加一個DIV來解決這個問題,但是這並沒有奏效。你能幫我讓標籤正常工作嗎?如何修復JQuery幻燈片元素的CSS

我使用JQuery 1.5.1

下面是HTML:

<body> 
    <div class="Livwidget"> 
    <div class="tab"></div> 
    </div> 
</body> 

這裏是CSS:

.Livwidget{ 
    background: #000; 
    bottom: 0; 
    left: 0; 
    margin-left: 5%; 
    margin-right: 5%; 
    padding-top: 3px; 
    position: fixed; 
    width: 90%; 
} 


.tab{ 
    background: #000; 
    height: 30px; 
    margin-left: 0; 
    margin-top: -30px; 
    width: 135px; 
} 

這裏是JS:

<script> 
    $(document).ready(function(){ 
     $(".Livwidget").hover(makeTall,makeShort); 
    }); // close document.ready 

    function makeTall(){ $(this).animate({"height":250},350);} 
    function makeShort(){ $(this).animate({"height":5},350);} 
</script> 

任何幫助真的會很感激iated。我花了幾個小時試圖解決這個問題,似乎無法解決這個問題。

+0

當你將鼠標懸停在該選項卡,也許「makeTall」是造成你不要徘徊的標籤,引發「makeShort」,這導致你再次懸停? – FishBasketGordo 2011-06-09 14:12:56

回答

1

添加的if/else statment一個名爲var activeAnimation變量,它應該被聲明爲0外腳本,那麼只允許動畫如果是0,只要它啓動動畫設置activeAnimation = 1,然後在最後您的動畫,使回調包括一個功能,使activeAnimation = 0

+0

好主意。我試圖自己編寫代碼,但我只編寫了一個月的代碼,所以我沒有足夠好的將JS編碼爲使用jquery。你可以解釋一下如何在更詳細的情況下做到這一點?謝謝。 – 2011-06-09 14:58:04

0
+0

你的腳本的主要問題是你用一個你拉開的元素來檢測鼠標活動。所以你觸發了一個鼠標事件,因爲你把它從地毯下拉出來。您最好的選擇是對鼠標下的物體進行鼠標檢測。 – 2011-06-09 14:33:56

+0

這並沒有完全解決問題。該選項卡需要成爲導致問題的div的一部分。 – 2011-06-09 14:53:02

+0

是的,我只是指着你在正確的方向 – 2011-06-09 16:31:38