Показать сообщение отдельно
  #1 (permalink)  
Старый 29.11.2018, 06:31
Интересующийся
Отправить личное сообщение для komned37 Посмотреть профиль Найти все сообщения от komned37
 
Регистрация: 23.07.2018
Сообщений: 18

При повторном вызове скрипт выполняется два-три раза
Доброго времени суток!

Есть всплывающая форма, которая по клику запускается и в ней работает навигация по изображениям. Когда закрываю ее и повторно запускаю, то скрипт выполняющий навигацию выполняется 2 раза, если еще раз закрыть и открыть, то уже три. Если я правильно понял, то дело в кеше, его нужно как то чистить, но только для отдельного блока.
код такой
$('.port-item').mouseenter(function() {
      $(this).children('.port-item-button').fadeIn("slow");    
                  
    });
    $('.port-item').mouseleave(function() {
       $(this).children('.port-item-button').fadeOut("slow");    
                  
    });

    $('.port-item-button').on("click",function(){
      $(".fon").fadeIn(200);
      $(this).addClass('wrap-popup');
      $('.wrap-popup + .port-item-wrap').fadeIn("slow").addClass("active");

          $(".port-item-wrap.active .port-wrap-img img").not(":first").hide();
            $(".port-item-wrap.active .port-wrap-galery img").click(function() {
              $(".port-item-wrap.active .port-wrap-galery img").removeClass("active").eq($(this).index()).addClass("active");
              $(".port-item-wrap.active .port-wrap-img img").hide().removeClass("act").eq($(this).index()).fadeIn(100).addClass("act");              
            }).eq(0).addClass("active");

            $(".port-item-wrap.active .brr i").click(function(){
               var 
                    slide = 0;
                    slide = $(".port-item-wrap.active .port-wrap-galery img.active").index(),
                   slideNum = $(".port-item-wrap.active .port-wrap-galery img").length;
              if (slide < slideNum-1) {
              // $(".port-item-wrap.active .port-wrap-galery .active").removeClass("active").next().addClass("active");
              // $(".port-item-wrap.active .port-wrap-img .act").removeClass("act").next().addClass("act").fadeIn(100);
              alert(slide);
              $(".port-item-wrap.active .port-wrap-galery img").removeClass("active").eq(slide+1).addClass("active");
              $(".port-item-wrap.active .port-wrap-img img").hide().removeClass("act").eq(slide+1).fadeIn(100).addClass("act");  


              }
              else {
                return false;
              }
            });
            $(".port-item-wrap.active .br i").click(function(){
              var slide = $(".port-item-wrap.active .port-wrap-galery img.active").index();
              // alert(slide);
              if (slide > 0) {
                $(".port-item-wrap.active .port-wrap-galery .active").removeClass("active").prev().addClass("active");
                 $(".port-item-wrap.active .port-wrap-img .act").removeClass("act").hide().prev().addClass("act").fadeIn(100);
                 var slide = 0;
                
               }

               else {
                return false;
         }
      }); 
         
    });

    //закрытие 

    $(".fon").click(function(){
      $(this).fadeOut(200);
      $(".port-item-wrap.active .port-wrap-galery img").removeClass("active").find(":first").addClass("active");      
      $(".port-item-wrap.active .port-wrap-img img").removeClass("act").addClass("act");
      $(".port-wrap-img img.act").fadeIn(100);

      $(".port-item-wrap").removeClass("active").fadeOut(200);

      $(".port-item-button").removeClass("wrap-popup");

     

    });
Ответить с цитированием