成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

多級伸縮菜單——組合模式-創(chuàng)新互聯(lián)

常見的后臺管理模板都有一個伸縮菜單,我們可以通過CSS輕松實(shí)現(xiàn),但是如果我們動態(tài)的添加菜單,javascript的操作Dom將會變得很繁瑣,我們可以應(yīng)用組合模式來輕松實(shí)現(xiàn)。

創(chuàng)新互聯(lián)專注于茌平企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城開發(fā)。茌平網(wǎng)站建設(shè)公司,為茌平等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計,全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

    組合模式用于把一組相似的對象當(dāng)做一個單一的對象,以樹形結(jié)構(gòu)的形式來組合對象,以實(shí)現(xiàn)部分和整體的關(guān)系。下面的實(shí)例通過多級的伸縮菜單實(shí)現(xiàn)組合模式,其類圖如下:

多級伸縮菜單——組合模式

實(shí)現(xiàn)代碼:

var Menu = Class.extend({
	isLeaf:true,
	subMenu:[],
	label:'菜單',
	href:'#',
	ctor:function(_label,_href,_isLeaf = true,_subMenu = []){
		this.isLeaf = _isLeaf;
		this.subMenu = _subMenu;
		this.label = _label;
		this.href = _href;
	},
	addSubMenu:function(_menu){
		this.subMenu.push(_menu);
	},
	toString:function(){
		var html = '';
		if(!this.isLeaf){
			html += '<li onclick = "toggleMenu(this)"><a href = "' + this.href + '">'+this.label + '</a>';
			html += "<ul class = 'myHide'>";
			for (var i = 0;i < this.subMenu.length ; i++)
			{
				html += this.subMenu[i].toString();
			}
			html += '</ul>';
			html += '</li>';
		}else{
			html += '<li ><a href = "' + this.href + '">'+this.label + '</a>';
			html += '</li>';
		}			
		return html;
	}
});
<body> 
<div id="navigation"> 
<ul id="listUL"> 

</ul> 
</div> 
</body> 
<script language="javascript"> 
function toggleMenu(obj){
	window.event? window.event.cancelBubble = true : e.stopPropagation();
	if(obj.childNodes[1].className == "myHide"){
		obj.childNodes[1].className = 'myShow';
		
	}else{
		obj.childNodes[1].className = 'myHide';
	}
	
	
}
(function(){
	var Home = new Menu("Home","#");
	var My = new Menu("My","#",false);
	var News = new Menu("News","#",false);
	var My_Info = new Menu("MyInfo",'#',false);
	var Info_Detail = new Menu("InfoDetail",'#',true);
	var My_Zone = new Menu("MyZone",'#',true);
	My_Info.addSubMenu(Info_Detail);
	My.addSubMenu(My_Info);
	My.addSubMenu(My_Zone);
	console.log(document.getElementById("listUL"));
	document.getElementById("listUL").innerHTML = Home.toString() + My.toString();
})();
</script>

具體的樣式可以下載源碼查看,實(shí)現(xiàn)的效果如圖(其實(shí)是三層菜單,修改代碼可以實(shí)現(xiàn)區(qū)分開樣式):

多級伸縮菜單——組合模式

組合模式大的缺點(diǎn)是違反了依賴倒置原則。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站題目:多級伸縮菜單——組合模式-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://jinyejixie.com/article32/jejpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)面包屑導(dǎo)航、營銷型網(wǎng)站建設(shè)、網(wǎng)站營銷、Google、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
河西区| 万全县| 丰都县| 太和县| 叶城县| 营口市| 如东县| 凤台县| 苏尼特右旗| 子长县| 武宣县| 巴青县| 新密市| 宜春市| 鄂尔多斯市| 双城市| 元朗区| 洛阳市| 泊头市| 安福县| 格尔木市| 柳州市| 报价| 会理县| 东港市| 双峰县| 江达县| 怀柔区| 上饶市| 孝昌县| 汶川县| 长宁县| 大同市| 车险| 宁武县| 巨野县| 得荣县| 鲜城| 永平县| 周至县| 谷城县|