2012-03-05 5 views
0

У меня проблема с моим кодом jquery, есть список кнопок, которые меняют отображение от ни одного до блока некоторого div и кнопку «сохранить», изменяя отображение с блока на none, когда я нажимаю снова на той же кнопке из списка кнопок отображается не меняется, ничего не происходит, ПОЧЕМУ ???кнопка работает только один раз

http://gidzior.net/svg/pom01.html Панель справа является «# правой панели Ли» и красная кнопка является «div.save»

кнопки с «# правой панели Ли» должен открыть окно и кнопку «ДИВ .save»должен закрыть его, а затем„# правой панели литий“должен открыть его снова, но не должны закрывать его

$('#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'); 
    }); 

UPDATE

хорошо я нашел ошибку, когда я нажав кнопка с номером от 1 до 9, сценарий 0 для числа 1-9, а индекс 01,02,03 ..., когда я нажимаю его снова, индекс равен 001, 002, 003, ... и т. Д., Как установить индекс, остался то же самое все время ?? 01, 02, 03, 04, 05, 06, 07, 08, 09

+0

Можно ли вставить ссылку или скриншоты? – waseem

+0

http://gidzior.net/svg/pom01.html панель справа - это «# правая панель li», а красная кнопка - «div.save» – gidzior

ответ

1

Если вы имеете в виду вы хотите первый щелчок, чтобы показать, второй щелчок, чтобы скрыть и так далее, использовать .toggle() вместо:

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

В противном случае с вашим текущим кодом первый щелчок будет показывать элементы. Второй щелчок также покажет элементы, но они уже видны - что именно вы ожидаете, что произойдет?

+0

i обновил мой вопрос – gidzior

+0

@gidzior OK. Какой новый вопрос? Мой ответ все еще стоит, и вы не дали никакой новой информации. –

+0

Кнопки из «# right-panel li» должны открыть окно, а кнопка «div.save» должна закрыть его, а затем «# right-panel li» должна открыть его снова, но не должна закрывать его – gidzior

1

Код, который вы написали, только изменения display: none; - block, а не назад.

Я рекомендовал бы использовать:

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

и

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

вместо этого.

Смежные вопросы