簡體   English   中英

我的jQuery淡入效果不起作用

[英]My jQuery fade in effect doesn't work

jQuery的這種淡入/淡出效果不起作用。 我沒有收到錯誤。 菜單呈現完美且可以正常工作,但是懸停時菜單沒有延遲或褪色。 這是工作中的FIDDLE 我正在使用jQuery 1.9.1。 我不想發布CSS,因為它太大了並且會占用地方。 我認為的問題還在於jQuery,而不是CSS。

HTML

<ul id="nav">
    <li><a href="#">1 HTML</a>
    </li>
    <li><a href="#">2 CSS</a>
    </li>
    <li><a href="#">3 Javascript </a>

        <ul>
            <li><a href="#">3.1 jQuery</a>

                <ul>
                    <li><a href="#">3.1.1 Download</a>
                    </li>
                    <li><a href="#">3.1.2 Tutorial</a>
                    </li>
                </ul>
            </li>
            <li><a href="#">3.2 Mootools</a>
            </li>
            <li><a href="#">3.3 Prototype</a>
            </li>
        </ul>
    </li>
</ul>

JQUERY

$(document).ready(function () {
    $(" #nav li").hover(

    function () {
        $(this).find('ul:first').stop(true, true).delay(1000).fadeIn("slow")
    }, function () {
        $(this).find('ul:first').stop(true, true).delay(1000).fadeOut("slow");
    }

    )

});

CSS

這個CSS部分弄亂了您的JS:

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul {
    display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul {
    display:block;
}

刪除它(或只是對其進行修改),您將獲得延遲。

只有這部分弄亂了所有東西。

工作演示http://jsfiddle.net/cse_tushar/wAhTc/6/

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul {
    display:block;
}

您正在為菜單使用CSS懸停以及jQuery懸停效果。 您應該只使用其中之一。 以下代碼應從CSS中刪除,以使工作正常。

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul {
    display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul {
    display:block;
}

我建議的另一件事是從您的JS代碼中刪除.delay(100) 您已經在使用.fade('slow')達到目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM