为移动导航创建了一个基于手风琴的下拉菜单。
当用户点击" li"它必须添加类"活跃"标记。这很好用。
此外,它必须将图标更改为" white"相反"灰色" - >不工作。
当用户点击已存在的"有效"或其他" li",图标必须更改为"灰色"而不是"白色" - >不工作。
下面是我用来解决问题的代码..但是,我无法找出解决方案。请让任何人帮助我。
由于
HTML:
<ul class="menu-accordion">
<li>
<a href="#"><img class="nav--icon" data-alt-src="images/nav-01_white.svg" src="images/nav-01_grey.svg" />Link 1<span></span></a>
</li>
<li>
<a href="#"><img class="nav--icon" data-alt-src="images/nav-02_white.svg" src="images/nav-02_grey.svg" />Link 2<span></span></a>
</li>
<li>
<a href="#"><img class="nav--icon" data-alt-src="images/nav-03_white.svg" src="images/nav-03_grey.svg" />Link 3<span></span></a>
</li>
</ul>
JS:
$('.menu-accordion li a').click(function(){
var $this = $(this),
newSource = $(this).find('li a.active img.nav--icon').data('alt-src');
$('.menu-accordion li a.active').removeClass('active');
$(this).closest('li a').addClass('active');
$(this).data('alt-src', $(this).attr('src'));
$(this).attr('src', newSource);
});
答案 0 :(得分:0)
JavaScript:
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
$(document).ready(function(){
$('.menu-accordion li a img:eq(1)').addClass('active');
nimg = $('.menu-accordion li a img:eq(1)').attr("data-alt");
oimg = $('.menu-accordion li a img:eq(1)').attr("src");
$('.menu-accordion li a img:eq(1)').attr("src",nimg).attr("data-alt",oimg);
$('.menu-accordion li a').click(function(){
$('.menu-accordion li').each(function(){
if($(this).find("a img").hasClass("active") == true){
$(this).find("a img").removeClass("active");
oldimg = $(this).find("a img").attr("data-alt");
newimg = $(this).find("a img").attr("src");
$(this).find("a img").attr("src",oldimg).attr("data-alt",newimg);
}
});
imgEle = $(this).find("img");
newimg = imgEle.attr("data-alt")
oldimg = imgEle.attr("src");
imgEle.attr("src",newimg);
imgEle.attr("data-alt",oldimg);
imgEle.addClass("active");
});
})
</script>
HTML:
<ul class="menu-accordion">
<li>
<a href="#"><img class="nav--icon" data-alt="g.png" src="w.png" />Link 1<span></span></a>
</li>
<li>
<a href="#"><img class="nav--icon" data-alt="g.png" src="w.png" />Link 2<span></span></a>
</li>
<li>
<a href="#"><img class="nav--icon" data-alt="g.png" src="w.png" />Link 3<span></span></a>
</li>