私は基本的にこのマークアップを持っています:
<div class="navBar">
<div class="inner blueTheme">
<ul id="" class="navBarMenu">
<li class="xenonActiveMenu blue"><a href="/new_order">Orders</a>
<ul>
<li class="backBtn"><a href="#">< Back</a>
</li>
<li class="xenonActiveMenu "><a href="/new_order">New Order</a>
</li>
</ul>
</li>
<li class="green"><a href="/account_details">Profile</a>
<ul>
<li class="backBtn"><a href="#">Back</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
Jクエリ:
$('.navBar .inner ul > li').bind('click', function(e){
e.preventDefault();
item = $(this);
if (item.attr('class') != 'selected' && item.attr('class') !='backBtn') {
item.addClass('selected');
var parent = item.parent();
var barWidth = item.width();
var hasSub = item.find('ul').length;
if (hasSub > 0 ){
//Item Does have a submenu
parent.children().each(function(){
$(this).animate({marginLeft: -barWidth}, 400);
});
}
} else {
var parent = $(this).parent().closest('li');
var barWidth = $(this).width();
parent.each(function(){
$(this).animate({marginLeft: barWidth}, 400);
});
}
});
私の問題は、入れ子になった LI 要素には 2 つの別々の関数があるため、「li」要素が 2 回クリックされたと考えていることです。回避方法がわかりません。誰か助けてください。
シャノン