jquery 無限級聯(lián)菜單案例分享
看到phpcms的地區(qū)級聯(lián)菜單,感覺寫的挺有意思,就說說大致步驟,省得忘了。
對于地區(qū)級聯(lián)菜單的生成一般是在/data/cache_model/content_form.class.php文件的areaid()函數(shù)中。不過,這個只是一個cache至于什么地方生成還不沒找到,所以暫時作為一個測試。(知道的同學(xué)告訴我哈!十分感謝)
在areaid()的$js中添加
function delChild(num)
{
$('#load_$field select').each(function(i,obj){
if(obj.id >num)
$('#'+obj.id).remove();
})
}
對應(yīng)的,在/load.php中elseif($field == 'areaid' && $value)修改
$str =
'<select id="'.$id.'"
onchange="delChild('.$id.');$(\'#'.$value.'\').val(this.value);this.disabled=false;area_load(this.value);"><option
value="1">'.$LANG['please_select'].'</option>';
就能去掉"選定地區(qū)后不能更改"的效果,并且當(dāng)沒有下級地名時不會刪除多余的選擇框。
傳統(tǒng)的級聯(lián)菜單呢,個人覺得傳輸數(shù)據(jù)相對較大,而且和數(shù)據(jù)庫的關(guān)聯(lián)似乎不好,所以就不貼代碼了。
方法二:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.menu li').hover(function(){
$(this).children('ul').show();
$(this).focus().addClass('focusa')
},function(){
$(this).children('ul').hide();
$(this).focus().removeClass('focusa');
});
});
</script>
<style type="text/css">
ul{ list-style:none; margin:0; padding:0;}
.menu { height:30px; line-height:30px; }
.menu li { float:left; position:relative;} /*這一級是導(dǎo)航*/
.menu li a { display:block; height:30px; line-height:30px; padding:0 20px; }
.menu li a:hover { color:#000; background:url(img/bg1.png); }
.menu li a.more { background:url(img/there.png) no-repeat 130px center; }
.menu li ul { position:absolute; float:left; width:150px; border:1px solid #000; display:none;} /*這是第二級菜單*/
.menu li ul a { width:110px; }
.menu li ul a:hover { background:url(img/bg1.png);}
.menu li ul ul{ top:0;left:150px;} /*從第三級菜單開始,所有的子級菜單都相對偏移*/
</style>
<ul class="menu">
<li><a href="#">菜單一</a>
<ul class="one">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#">菜單三</a></li>
<li><a href="#">菜單四</a></li>
<li><a href="#" class="more">菜單五</a>
<ul class="two">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#">菜單三</a></li>
<li><a href="#">菜單四</a></li>
<li><a href="#" class="more">菜單五</a>
<ul class="three">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#">菜單三</a></li>
<li><a href="#">菜單四</a></li>
<li><a href="#" class="more">菜單五</a>
<ul class="four">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#">菜單三</a></li>
<li><a href="#">菜單四</a></li>
<li><a href="#">菜單五</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">菜單二</a>
<ul class="one">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#" class="more">菜單三</a>
<ul class="two">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#" class="more">菜單三</a>
<ul class="three">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#">菜單三</a></li>
<li><a href="#">菜單四</a></li>
<li><a href="#">菜單五</a></li>
</ul>
</li>
<li><a href="#">菜單四</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">菜單三</a></li>
<li><a href="#">菜單四</a></li>
<li><a href="#">菜單五</a>
<ul class="one">
<li><a href="#">菜單一</a></li>
<li><a href="#">菜單二</a></li>
<li><a href="#">菜單三</a></li>
</ul>
</li>
</ul>
相關(guān)文章
網(wǎng)頁下載文件期間如何防止用戶對網(wǎng)頁進行其他操作
網(wǎng)頁下載文件時需要一段時間,在這期間如何防止用戶對網(wǎng)頁進行其他操作,將div覆蓋在網(wǎng)頁上,將網(wǎng)頁鎖住,具體實現(xiàn)如下2014-06-06修復(fù)jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)
這篇文章主要介紹了如何修復(fù)jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)的相關(guān)資料,需要的朋友可以參考下2016-03-03jQuery實現(xiàn)數(shù)字自動增加或者減少的動畫效果示例
這篇文章主要介紹了jQuery實現(xiàn)數(shù)字自動增加或者減少的動畫效果,涉及jQuery結(jié)合時間函數(shù)動態(tài)設(shè)置元素屬性相關(guān)操作技巧,需要的朋友可以參考下2018-12-12jquery網(wǎng)頁元素拖拽插件效果及實現(xiàn)
效果說明:配合已有css樣式,載入插件后,網(wǎng)頁元素可以隨意在窗口內(nèi)拖拽,設(shè)置了原位置半透明和拖拽半透明的效果選項,可根據(jù)需要選擇。另外,當(dāng)頁面上有多個可拖拽元素時,可以載入另外一個用于設(shè)置z-index的插件,模擬windows窗口點擊置頂效果。2013-08-08關(guān)于jquery ajax 調(diào)用帶參數(shù)的webservice返回XML數(shù)據(jù)一個小細節(jié)
很早之前用jquery調(diào)用帶參數(shù)的WS返回XML格式數(shù)據(jù)的時候,傳參的時候會出現(xiàn)錯誤。問了問度娘和谷哥,這娘兒倆一個德行,里面的多數(shù)帖子沒什么意義,你粘我,我復(fù)制你2012-07-07