jQuery切换问题-淡入淡出div

jQuery切换问题-淡入淡出div,jquery,toggle,Jquery,Toggle,尝试构建一个简单的切换,其中有人单击一个具有ID的列表项,并显示与所述列表项相关的div,然后单击另一个列表项,第一个div淡出,新的div淡入,如果单击然后,然后返回到1,它工作正常 这是到目前为止我的代码 $(document).ready(function() { $('#list li').toggle(function() { var $value = ($(this).attr('id')); $('#song' + $value).fadeI

尝试构建一个简单的切换,其中有人单击一个具有
ID
的列表项,并显示与所述列表项相关的
div
,然后单击另一个列表项,第一个
div
淡出,新的
div
淡入,如果单击
  • 然后
  • ,然后返回到1,它工作正常

    这是到目前为止我的代码

    $(document).ready(function() {
        $('#list li').toggle(function() {
            var $value = ($(this).attr('id'));
            $('#song' + $value).fadeIn();
        },
        function() {
            $('#song' + $value).fadeOut(); 
            var $value = ($(this).attr('id'));
            $('#song' + $value).fadeIn();
        });
    });
    

    谢谢!马特

    淡出当前可见div的更简单方法是使用选择器。另外,如果我正确理解了您的问题,我认为您只需使用
    .click()
    而不是
    .toggle()
    ,就可以实现所需的行为:


    为什么使用$value而不是var value?@peri忽略了var.@neal,它只适用于一个实例,我不能单击id1,然后单击id2,然后再单击id1。
    $('#list li').click( function() {
      $('#your_container').find('div:visible').fadeOut();
      $('#song' + this.id).fadeIn(); // simpler, no intermediate variable needed
    });