我有那些下面的代碼:
如何綁定的jQuery的.css()函數時,點擊菜單
HTML的一部分:
<div id="primary"></div>
JS部分:
$(function() {
var menu_contents =
[
{title: "AA", href: "a.html", submenu:
[
{title: "BB", href: "b.html", id: "bb"},
{title: "CC", href: "c.html", id: "cc"},
{title: "DD", href: "d.html", id: "dd"}
]
},
{title: "EE", href: "e.html", id: "ee"},
];
html = $('<div id="secondary">').append($('<div class="block">')
.append('<h1 id="h1" style="color:#ffffff;">Settings</h1>')
.append($('<div class="content">')
.append('<div id="menu">')));
html.insertAfter('#primary');
$('#menu').append(menu(menu_contents));
function menu(m) {
var ul = $('<ul>')
$.each(m, function() {
var li = $('<li>')
li.append($('<a>', {text : this.title, href : this.href, id : this.id}));
ul.append(li)
if(this.submenu) li.append(menu(this.submenu));
})
return ul;
}
$('ul li ul li').each(function(){
$(this).replaceWith($(this).html());
});
$(function() {
var pageurl = window.location.href.substr(window.location.href.lastIndexOf('/')+1);
$('#menu a').each(function(){
if($(this).attr('href') == pageurl || $(this).attr('href') == ''){
$(this).addClass('menuOnselect');
}
else{
$(this).addClass('menuOffselect');
}
});
});
$('#ee').click(function() {
$('#bb,#cc,#dd').css('display','none');
})});
這些代碼會創建一個簡單的菜單:
<div id="primary">
<div id="secondary">
<div class="block">
<h1 id="h1" style="color:#ffffff;">Settings</h1>
<div class="content">
<div id="menu">
<ul>
<li><a href="a.html" class="menuOffselect">AA</a>
<ul>
<a href="b.html" id="bb" class="menuOffselect">BB</a>
<a href="c.html" id="cc" class="menuOffselect">CC</a>
<a href="d.html" id="dd" class="menuOffselect">DD</a>
</ul>
</li>
<li><a href="e.html" id="ee" class="menuOnselect">EE</a></li>
</ul>
</div>
</div>
</div>
</div>
我的問題是... 當我點擊菜單項之一,像這樣的:
<li> <a href="ee.html" id="ee" class="menuOnselect">EE</a> </li>
就會直接到ee.html,但這些代碼不起作用:
$('#ee').click(function() { $('#bb,#cc,#dd').css('display','none'); })
如何使的.css()不僅工作的時候點擊菜單項也直接後工作目標頁面?有誰能夠幫助嗎?
烏爾鏈路ID是EE – Alex
@Alex我編輯我的問題,謝謝:-) –
什麼る想達到什麼目的? – Alex