Javascript 选择jQuery中单击img的单个用户
我有一个手风琴菜单,当手风琴被激活时,我试图让图像从正切换到负。目前,我只能在点击任何内容时将所有图像更改为负号。链接上已经有bg图像了,我真的不想走那条路Javascript 选择jQuery中单击img的单个用户,javascript,jquery,Javascript,Jquery,我有一个手风琴菜单,当手风琴被激活时,我试图让图像从正切换到负。目前,我只能在点击任何内容时将所有图像更改为负号。链接上已经有bg图像了,我真的不想走那条路 $(function() { $('#menu ul').hide(); $('#menu > li').has('ul').children('a').addClass('disabled'); $('#menu').find('.disabled:last').addClass('lower'); //**
$(function() {
$('#menu ul').hide();
$('#menu > li').has('ul').children('a').addClass('disabled');
$('#menu').find('.disabled:last').addClass('lower'); //****=====will only add rounded corners to last menu item if it has a sub-menu=====****//
$('#menu').find('a:first').addClass('upper');
$('#menu > li').has('ul').children('a.disabled').click(function() {
if ( $(this).next('ul').is(':visible')) {
return false;
} else {
if ( $(this).hasClass('lower')) {
$(this).removeClass('lower');
$(this).parent().find('li > a:last').addClass('lower');
} else {
$(this).find('li > a:last').removeClass('lower');
$('#menu ul:visible').slideUp('medium', function() {
$('#menu').find('.disabled:last').addClass('lower');
});
}
$('#menu ul:visible').slideUp('medium', function() {
$('#menu:visible').find('img.top').attr('src','images/menu-dropdown.png')});
$(this).next('ul:hidden').slideDown('medium', function() {
$('#menu:hidden').find('img.top').attr('src','images/menu-minus.png')});
}
});
$("a.disabled").live("click", function() {
return false;
});
});
现在有整个手风琴
更新:
$('#menu ul:visible').slideUp(400);
$(this).next('ul:hidden').slideDown(400);
$(this).parent().find('img.top').attr('src','images/menu-minus.png');
}
改变它,让他们独立地改变。然而,我仍然不能让他们改变回原来的img放置代码,我认为它应该去
再次更新:这里是菜单HTML
<ul id="menu">
<li><a href="index.html">Home</a></li>
<li><a href="#">Style Guide</a></li>
<li><a href="#">Graphics <img class="top" src="images/menu-dropdown.png" alt="Signifies drop down" width="15" height="15" /></a>
<ul>
<li><a href="#">Templates</a></li>
<li><a href="#">Icons</a></li>
<li><a href="#">Symbols</a></li>
</ul></li>
<li><a href="#">Best Practices<img class="top" src="images/menu-dropdown.png" alt="Signifies drop down" width="15" height="15" /></a>
<ul>
<li><a href="#">Guide</a></li>
</ul></li>
<li><a href="#">Marketing<img class="top" src="images/menu-dropdown.png" alt="Signifies drop down" width="15" height="15" /></a>
<ul>
<li><a href="#">Icons</a></li>
<li><a href="#">Templates</a></li>
<li><a href="#">Pages Templates</a></li>
<li><a href="#">Template</a></li>
<li><a href="#">Template</a></li>
</ul></li>
</ul>
分辨率似乎只是对slideUp和slideDown遍历的一个小调整。这应该适合您:
$('#menu ul:visible').slideUp('medium', function() {
$(this).prev().find('img.top').attr('src','images/menu-dropdown.png');
});
$(this).next('ul:hidden').slideDown('medium', function() {
$(this).prev().find('img.top').attr('src','images/menu-minus.png');
});
没什么大不了的,您只需要为兄弟姐妹找到一个包含要旋转的图像的标记。这在代码中指的是什么?您可能只想发布此操作所依据的手风琴菜单代码。@Gumbo这指的是$'menu>li.的元素。有'ul'。children'a.disabled'这是一些昂贵的jQueryNothing存储!jQuery的主要功能是快速的,但没有符号查找那么快。存储使用两次或两次以上的选择器的结果,即var$menu=$'menu';这打破了菜单,我不知道为什么它打破了它。。。我想可能是功能。我将使用您提供的代码,看看是否可以让它工作。。。谢谢