我有一個下拉菜單,但我可以得到li
s點擊後保持可見。 我要的是li
s到隱藏當我點擊菜單以外的區域或在ul
:點擊鏈接後禁用菜單隱藏
我嘗試使用return false;
和event.stopPropagation();
但我無法得到它的工作 - 我希望某人知道如何解決這個問題 - 我認爲這應該相當簡單。
這裏是我的代碼:
<link rel="stylesheet" href="css/4style.css" type="text/css" media="screen">
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<ul id="nav">
<li >
<a href="#">Topic 1</a>
<ul class="show">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
<li><a href="#">Link 5</a></li>
</ul>
</li>
<li >
<a href="#">Topic 2</a>
<ul class="show">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
<li><a href="#">Link 5</a></li>
</ul>
</li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$('#nav li a').click(function() { // binding onclick
if ($(this).hasClass('select_ul')) {
$("#nav li ul").slideUp(100); // hiding submenu
$("#nav .select_ul").removeClass("select_ul");
} else {
$("#nav li ul").slideUp(100); // hiding submenu
$("#nav .select_ul").removeClass("select_ul");
if ($(this).next(".show").length) {
$(this).addClass("select_ul"); // display popup
$(this).next(".show").slideDown(200);
}
}
});
$('#nav li ul li a').click(function() {
$("#nav li ul li a.select_li").removeClass("select_li");
$(this).addClass('select_li');
});
// SKJUL NAV VED KLIK UDENFOR
$('html').click(function() {
$("#nav").hide(100);
});
$('#nav').click(function(event){
event.stopPropagation();
});
}); //END OF DOCUMENT READY
</script>
對不起羅漢 - 只是使當你點擊它的整個菜單消失? – jan199674
如何添加CSS?不習慣Stackoverflow .. – jan199674
@KennethHayes我更新了我的答案檢查它。 –