按钮只能工作一次

时间:2012-03-05 11:31:14

标签: jquery

我的jquery代码有问题,有一个按钮列表,将显示从无切换到某个div的块,并且“保存”按钮将显示从块更改为无,当我再次单击同一按钮时从按钮列表显示没有变化,没有任何反应,为什么?

右边的

http://gidzior.net/svg/pom01.html面板是'#right-panel li',红色按钮是'div.save'

来自'#right-panel li'的

按钮应打开一个窗口,按钮'div.save'应该关闭它然后'#right-panel li'应该再打开它但不应该关闭它

$('#right-panel li').each(function(e){
        var i = $(this).index() + 1;
        $(this).click(function(){
            if(i<10){
            i = "0"+i;
        }
            $('#pom01par'+i+'WraperAbsolute').css('display', 'block');
            $('#pom02par'+i+'WraperAbsolute').css('display', 'block');
            $('#pom03par'+i+'WraperAbsolute').css('display', 'block');
            $('#pom04par'+i+'WraperAbsolute').css('display', 'block');
            $('#pom05par'+i+'WraperAbsolute').css('display', 'block');
            $(this).css('background','#adff84');
            $('.par'+i+'table').css('background','#adff84');
            return false;
        });
    });


    $('div.save').click(function(){
        $(this).parent().css('display','none');
    });

更新

我发现了一个错误,当我点击数字从1到9的按钮时,脚本输入0到数字1-9,索引是01,02,03 ...,当我再次点击它时索引是001,002,003,...依此类推,如何设置索引始终保持不变? 01,02,03,04,05,06,07,08,09

2 个答案:

答案 0 :(得分:1)

如果您的意思是首先要点击以显示,请先点击隐藏,依此类推,请改用.toggle()

$('#pom01par'+i+'WraperAbsolute').toggle();
$('#pom02par'+i+'WraperAbsolute').toggle();
$('#pom03par'+i+'WraperAbsolute').toggle();
$('#pom04par'+i+'WraperAbsolute').toggle();
$('#pom05par'+i+'WraperAbsolute').toggle();

否则,使用当前代码,第一次单击将显示元素。第二次点击也会显示元素,但它们已经可见 - 您期望到底发生了什么?

答案 1 :(得分:1)

您编写的代码仅将display: none;更改为block,而不是更改。

我建议使用:

$('#pom01par'+i+'WraperAbsolute').toggle();

$(this).parent().hide();

代替。