Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery手风琴菜单状态_Jquery_Accordion - Fatal编程技术网

jquery手风琴菜单状态

jquery手风琴菜单状态,jquery,accordion,Jquery,Accordion,我有一个带有标题图像的手风琴菜单,标题图像根据状态(打开/关闭)而变化。问题是,一旦菜单的任何部分打开,打开状态图像将保持不变,即使菜单的部分关闭。我希望菜单的这一部分关闭后,关闭状态会恢复 代码 我建议使用手风琴的活动。您的处理程序将被传递到关闭和打开accordion项目的标题和内容元素的引用 $('#my-accordion').bind('accordionchange', function(event, ui) { ui.oldHeader.css( /* swap bg im

我有一个带有标题图像的手风琴菜单,标题图像根据状态(打开/关闭)而变化。问题是,一旦菜单的任何部分打开,打开状态图像将保持不变,即使菜单的部分关闭。我希望菜单的这一部分关闭后,关闭状态会恢复

代码

我建议使用手风琴的活动。您的处理程序将被传递到关闭和打开accordion项目的标题和内容元素的引用

$('#my-accordion').bind('accordionchange', function(event, ui) {
    ui.oldHeader.css( /* swap bg img */ );
    ui.newHeader.css( /* swap bg img */ );
});

像这样的东西应该可以

$("#firstpane p.sidemenu_head").click(function()
{
     if ($(this).css("backgroundImage") == "url(g/down.png)") {
          $(this).css({backgroundImage:"url(g/left.png)"})
     }
     else {
          $(this).css({backgroundImage:"url(g/down.png)"})
     } 
     $(this).next("div.sidemenu_body").slideToggle(300)
          .siblings("div.sidemenu_body").slideUp("fast");
     $(this).siblings().css({backgroundImage:"url(left.png)"}); });
}); 

*修复了一个缺失),这应该可以工作。

Jquery切换可能适合您。为了简单起见,我删除了show/hide div,但您可以轻松地将其添加回:

$(document).ready(function()
{
    $('#firstpane p.sidemenu_head').toggle(
        function()
        {
            $(this).css({ backgroundImage: "url(g/down.png)" });

        }, function()
        {
            $(this).css({ backgroundImage: "url(g/left.png)" });

        });
});

那真的不管用。它只是创建了另一个将改变胡萝卜的点击,但是现在你必须点击两次才能显示内容(一次改变胡萝卜,然后再次显示)。

你不应该使用“url(g/left.png)”?哇,你菜单的HTML和CSS看起来怎么样?为什么所有的$(这个)。在一个变量中做一次-例如,var$this=$(this)和兄弟姐妹一样。我想我理解这一点可能太傻了。我是新来的。
$(document).ready(function()
{
    $('#firstpane p.sidemenu_head').toggle(
        function()
        {
            $(this).css({ backgroundImage: "url(g/down.png)" });

        }, function()
        {
            $(this).css({ backgroundImage: "url(g/left.png)" });

        });
});