Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2018, 17:00
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

м.б. видимость блока проверять?
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2018, 17:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

komned37,
попробуйте сделать макет
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
залипание слайдера при повторном вызове в всплывающем окне komned37 Общие вопросы Javascript 1 25.07.2018 10:06
Как с помощью скрипта высчитать ширину полосы прокрутки? LADYX Элементы интерфейса 35 13.11.2017 12:50
В всплывающем окне opener равен undefined alerion Events/DOM/Window 0 24.03.2010 21:32
Как узнать, присутствует ли в окне полоса прокрутки или нет? возжаждавший Элементы интерфейса 6 12.03.2010 23:00
открыть файл во всплывающем окне zerg Общие вопросы Javascript 3 07.03.2009 22:00