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

Отключение скрипта прокрутки во всплывающем окне
Доброго времени суток!

Помогите в решении задачи. Существует разметка:
<div class="cont_1"></div>
<div class="proektu">
    <div class="proektu-items">
        <div class="proektu-item"></div>
        <div class="proektu-item"></div>
        <div class="proektu-item"></div>
    </div>
    <div class="items">
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
    </div>
</div>
<div class="yslugi"></div>
<div class="blok4"></div>


Блоки item в контайнере items скрыты и появляются поочередно по клику на соответствующий блок proektu-item. На странице сделана прокрутка на фиксированное значение при прокрутке колесиком, реализовано следующим образом
$('body .cont_1').bind('DOMMouseScroll mousewheel', function(e){
            if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
              $('html, body').stop().animate({scrollTop: 0}, 1000);
            }
            else{
                $('html, body').stop().animate({scrollTop: h}, 1000);
            }
        });
        $('body .proektu').bind('DOMMouseScroll mousewheel', function(e){
              if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
                $('html, body').stop().animate({scrollTop: 0}, 1000);
              }
              else{
                  $('html, body').stop().animate({scrollTop: 2*h}, 1000);
              }
          });
        $('body .yslygi').bind('DOMMouseScroll mousewheel', function(e){
            if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
              $('html, body').stop().animate({scrollTop: h}, 1000);
            }
            else{
                $('html, body').stop().animate({scrollTop: 3*h}, 1000);
            }
        });
        $('body .blok4').bind('DOMMouseScroll mousewheel', function(e){
            if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
              $('html, body').stop().animate({scrollTop: 2*h}, 1000);
            }
            else{                
            }
        });

Необходимо сделать так, что бы когда пользователь находится в блоке proektu и открыл во всплывашке какой-то ранее скрытый item отключалась прокрутка. Пробовал по всякому, ни чего не выходит, самое правильное на мой взгляд это добавление условия нахождения на блоке item, но у меня ни чего не выходит.
Скрипт который пишу для блока proektu
if($('.proektu .items .item').mousewheel()){
            $('body .proektu').bind('DOMMouseScroll mousewheel', function(e){
              if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
                $('html, body').stop().animate({scrollTop: h}, 1000);
              }
              else{
                  $('html, body').stop().animate({scrollTop: h}, 1000);
              }
          });
        }
        else {
            $('body .proektu').bind('DOMMouseScroll mousewheel', function(e){
              if(e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
                $('html, body').stop().animate({scrollTop: 0}, 1000);
              }
              else{
                  $('html, body').stop().animate({scrollTop: 2*h}, 1000);
              }
          });

        }

Прокрутка как работала, так и работает. Вероятнее всего не правильно составляю условие if. Нужно как то отключить выполнение того скрипта при активности блока item
Ответить с цитированием