Как изменить складное изображение меню в динамическом коде? - PullRequest
0 голосов
/ 29 марта 2012

У меня есть динамический код для складного меню. я хочу изменить изображение, когда оно свернуто меню Динамический код для php складного меню:

      if($levelAction=="Expand"){
 echo '<li>';
     echo '<a href="#" class="swap-menu"><img id="coll"  src="images/collapsed.gif" hspace = "2"/>'.$B->getAttribute('TITLE').'</a>';
     echo '<ul style="display:none;" class="sub-menu">';
 $groupStarted =1;
}

и вот javascript для складного меню:

   $(function(){
    $('.swap-menu').bind('click',function(){        
        $('.sub-menu').find("+ ul").slideUp(1);
        $(this).find("+ ul").slideToggle("fast");
    }); 

       $('.direct-link').bind('click',function(){           
        if(!$(this).parents('.sub-menu').length){
            $('.sub-menu').hide();
        }               
        var $current=$(this).parent();
        var id=parseInt($current.find('input:hidden[name=menu-id]').val());
        var slider=$current.find('input:hidden[name=slider]').val();
        var min=parseInt($current.find('input:hidden[name=min]').val());
        var max=parseInt($current.find('input:hidden[name=max]').val());            
        button_clk(id, slider, min, max);
    });
});

1 Ответ

0 голосов
/ 29 марта 2012

используйте addClass и removeClass для переключения класса css и назначения разных изображений для классов. Проверьте здесь сделано с вашим кодом ..

$(function(){
    $('.swap-menu').bind('click',function(){        
        $('.sub-menu').find("+ ul").slideUp(1);
        $(this).find("+ ul").slideToggle("fast");
        $('.swap-menu').toggleClass('current');// here you need to create one css class .current and put image you want to display or switch. Make sure you have alternate image for swap-menu which will switch with the current class
    });

       $('.direct-link').bind('click',function(){           
        if(!$(this).parents('.sub-menu').length){
            $('.sub-menu').hide();               
        }               
        var $current=$(this).parent();
        var id=parseInt($current.find('input:hidden[name=menu-id]').val());
        var slider=$current.find('input:hidden[name=slider]').val();
        var min=parseInt($current.find('input:hidden[name=min]').val());
        var max=parseInt($current.find('input:hidden[name=max]').val());            
        button_clk(id, slider, min, max);
    });
});​
...