@SimpleShadow

Как вернуться к началу функции jquery?

Здравствуйте! Есть блок с товарами, каждый из которых показывается в модальном окне по клику.

<a href="#" id="first">Первый блок товаров</a>

$( "#first" ).click(function() {
   $( "#products h1" ).html("Каталог 1")
        $("#product-1" ).click(function() {
              $(".product-block h1" ).html("Товар 1")
      		$(".product-block .price" ).html("2 960 р.")
		$('.main').attr('src', 'products/main-1.png');
        });
        $("#product-2" ).click(function() {
              $(".product-block h1" ).html("Товар 2")
      		$(".product-block .price" ).html("3 800 р.")
		$('.main').attr('src', 'products/main-2.png');
        });
       $("#product-3" ).click(function() {
              $(".product-block h1" ).html("Товар 3")
      		$(".product-block .price" ).html("4 200 р.")
		$('.main').attr('src', 'products/main-3.png');
        });
       $("#product-4" ).click(function() {
              $(".product-block h1" ).html("Товар 4")
      		$(".product-block .price" ).html("2 800 р.")
		$('.main').attr('src', 'products/main-4.png');
        });
});


Модальное окно выглядит примерно так:

<div class="modal" id="products">
  <a class="modal-close">Закрыть окно</a>
  <div class="product-block">
  <h1>Товар n</h1>
  <div class="price">n р.</div>
  <img class="main" src="images/selection/floors/flats/1/plan.png" alt="" />
  </div>
</div>

Нужно, чтобы при клике по ссылке .modal-close, вызывалась заново функция:

$( "#first" ).click(function() {...});
  • Вопрос задан
  • 381 просмотр
Решения вопроса 1
@nirvimel
Завернуть весь ваш код в функцию и вызывать ее из любого места внутри ее самой:
function setup() {
   $( "#first" ).click(function() {
   ...
   setup()
   ...
   });
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Вам нужно повесить реакцию на click на вновь созданный элемент?
Создайте функцию, которая принимает jQuery-объект (или его id, если вам так удобнее) и вешает на него обработчик. Используйте ее везде, где вам нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы