鍍金池/ 問(wèn)答/HTML/ 模擬百度首頁(yè)右上角 鼠標(biāo)上浮 "設(shè)置" 下拉功能

模擬百度首頁(yè)右上角 鼠標(biāo)上浮 "設(shè)置" 下拉功能

我現(xiàn)在要用jQuery模擬一個(gè)百度首頁(yè)的鼠標(biāo)上浮 下拉列表的功能,我現(xiàn)在遇到的問(wèn)題是,鼠標(biāo)上浮 "設(shè)置" 只有當(dāng)鼠標(biāo)在"設(shè)置"上浮的時(shí)候,才下拉,鼠標(biāo)上浮在列表的時(shí)候,它就馬上收回去了,如何 當(dāng)鼠標(biāo)上浮在下拉框,下拉框依然顯示,不收回去?

我的代碼如下:

            <div id="nav">
                <div class="list">
                    <a href="#" class="setting">設(shè)置</a>
                </div>    
            </div>    
            <div class="set">
                <ul>
                    <li><a href="#" class="active">搜索設(shè)置</a></li>
                    <li><a href="#">高級(jí)搜索</a></li>
                    <li><a href="#">關(guān)閉預(yù)測(cè)</a></li>
                    <li><a href="#">搜索歷史</a></li>
                </ul>    
            </div>
        $('#nav .list .setting').hover(function(){
            $('.set ul').slideDown();
        }, function(){
            $('.set ul').slideUp();
        })
回答
編輯回答
心悲涼

1.

1樓的答案有點(diǎn)不準(zhǔn)確,就算把class為set的div放入a標(biāo)簽內(nèi),鼠標(biāo)離開(kāi)a標(biāo)簽也會(huì)消失,因?yàn)閍標(biāo)簽是行內(nèi)元素,只有一行那么高,就算把div放入了里面,也不能改變a標(biāo)簽的高度,所以鼠標(biāo)離開(kāi)a標(biāo)簽,.set也會(huì)消失。
所以你可以試試把a(bǔ)標(biāo)簽換成div,然后再把.set放入里面就可以了。還有,把slideDown,slideUp換成show,hide會(huì)更像百度的效果。

2.

我看百度并沒(méi)有像第一個(gè)說(shuō)的那樣把設(shè)置的菜單放入了設(shè)置的里面,至于百度怎么實(shí)現(xiàn)的我就不知道了。
2017年5月8日 21:33
編輯回答
浪婳

當(dāng)鼠標(biāo)上浮在下拉框時(shí)候, 已經(jīng)離開(kāi)了$('#nav .list .setting')元素了。

2017年7月5日 19:55
編輯回答
陪我終

.set的div放在.setting的a標(biāo)簽內(nèi)即可

2017年6月12日 01:08
編輯回答
初念
$('#nav .list .setting,.set').hover()        //,并列 
2017年1月16日 03:38