知道你要啥樣的,就說個(gè)最簡單的豎列折疊菜單吧,比如:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、民和網(wǎng)站維護(hù)、網(wǎng)站推廣。
菜單1
子菜單1
子菜單2
……
菜單2
子菜單1
子菜單2
……
如果要做這樣的折疊菜單 那html為:
div?class="menu"
div菜單1/div
ul
li子菜單1/li
li子菜單2/li
……
/ul
/div
div?class="menu"
div菜單1/div
ul
li子菜單1/li
li子菜單2/li
……
/ul
/div
css為:(沒樣式只有功能,樣式自己去加)
.menu?ul{?display:none}
js為:
$('.menu').click(function(){
$(this).find('ul').slideToggle();
)}
[img]由上向下滑動(dòng)由 slideDown()控制,
由下向上滑動(dòng)由 slideUp()控制。
首先將菜單條隱藏,這種情況一般賦予其CSS屬性:display:none; 來隱藏。
然后通過jquery賦予它事件:點(diǎn)擊或者鼠標(biāo)移入。
通過這個(gè)事件綁定由下向上滑動(dòng)的 slideUp()。
最后通過點(diǎn)擊或者鼠標(biāo)移出綁定由上向下滑動(dòng)的 slideDown()。
slideDown()slideUp()中的括號(hào)填入速度。比如
slideDown("fast")
那是因?yàn)槟汶x開的時(shí)候就馬上調(diào)用了$(".u_ddl").hide();當(dāng)然會(huì)馬上消失了,開個(gè)定時(shí)器讓他延時(shí)消失就可以了
$(document).ready(function(){
var timer=null;//定義一個(gè)定時(shí)器變量
$(".u_menu_setting").mouseover(function(){
clearTimeout(timer);
$(".u_ddl").show();
});
$(".u_menu_setting").mouseout(function(){
timer=setTimeout(function(){
$(".u_ddl").hide();
},300);
});
$$(".u_ddl").mouseout(function(){
timer=setTimeout(function(){
$(".u_ddl").hide();
},300);
});
$(".u_ddl").mouseover(function(){
clearTimeout(timer);
$(".u_ddl").show();
});
});
這是一個(gè)彈出提示層效果
可以自定義位置和內(nèi)容
參考資料里面有教程和源碼
1、contextMenu我們可以根據(jù)數(shù)據(jù)記錄隱藏一些菜單項(xiàng),這個(gè)可以在onShowMenu事件中,根據(jù)e.currentTarget觸發(fā)源獲取數(shù)據(jù),再根據(jù)你需要改變?cè)藛雾?xiàng)
需要通過Jquery來實(shí)現(xiàn)這種點(diǎn)擊頁面其他地方隱藏菜單的效果,重要的一點(diǎn)就是需要通過event.stopPropagation()來阻止事件冒泡:
pa?href="javascript:void(0)"?class="a"菜單按鈕/a/p
div?class="menu"
a?href=""百度/a
/div
//綁定按鈕事件,點(diǎn)擊按鈕可以打開菜單,同時(shí)也能關(guān)閉按鈕
$(".a").on("click",?function(e){
if($(".menu").is(":hidden")){
$(".menu").show();
}else{
$(".menu").hide();
}????
//給document綁定一個(gè)一次性的click事件,點(diǎn)擊關(guān)閉菜單
$(document).one("click",?function(){
$(".menu").hide();
});
e.stopPropagation();
});
//通過e.stopPropagation()來保證點(diǎn)擊菜單不會(huì)關(guān)閉菜單
$(".menu").on("click",?function(e){
e.stopPropagation();
});