@Annalana

Код, изменяющий оформление элементов, срабатывает только один раз. Почему?

Здравствуйте!
Написала код, который, по идее, должен присваивать новые id элементам. Для этих id в CSS написан измененный дизайн.
Цель: скрипт по клику на элементе должен менять его дизайн и дизайн других элементов. При повторном клике менять все на то, что было, удаляя id.
Код запускается, но срабатывает только один раз. При повторении этих операций не происходит ничего.

Сам код. Я уже в него и цикл добавила, но работать иначе он от этого не стал... Один раз по прежнему срабатывает так, как нужно.
<script type="text/javascript" id="1">
    var n=0;
    while(n < 3){
    $(".building1").click(function(){
      $(".invisible-container").attr("id", "delta-invisible-container");
      $(".header-menu").attr("id", "delta-header-menu");
      $(".building2").attr("id", "delta-building2");
      $(this).attr("id", "delta-building1");
      $(".building1 p").attr("id", "delta-building1-p");
      $(".building1").click(function(){
        $(".invisible-container").removeAttr("id");
        $(".header-menu").removeAttr("id");
        $(".building2").removeAttr("id");
        $(this).removeAttr("id");
        $(".building1 p").removeAttr("id");
 });
});
n++;
};
 </script>

Подскажите, что с ним не так:) Заранее спасибо!
  • Вопрос задан
  • 197 просмотров
Решения вопроса 2
SmthTo
@SmthTo Куратор тега HTML
Все перепёлки мира будут оплакивать мою смерть.
Упрощать ваш код с телефона нет желания, но это будет работать.

Ответ написан
like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей

var el1 = $('.lol1'),
		el2 = $('.lol2');

$('.building1').on('click', function(event) {
	$(el1).attr('id') ? $(el1).removeAttr('id') : $(el1).attr('id', 'lol1');
	$(el2).attr('id') ? $(el2).removeAttr('id') : $(el2).attr('id', 'lol2');
	// etc.
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы