Избегайте прокрутки окна iframe - PullRequest
0 голосов
/ 17 апреля 2020

Я надеюсь, что вы хорошо, несмотря на реальные обстоятельства.

Мой вопрос: я добавляю событие в окно прокрутки моей страницы (я прошу изменить свойство css элемента на указанную c высоту). Дело в том, что я также разместил на этой странице iframe Youtube. Поэтому, когда прокрутка достигает iframe, она прокручивается в окне iframe, и мое событие на этом этапе не работает. Можно ли избежать того, что в фрейме разрешена прокрутка?

Извините за сломанный английский sh ... Хорошего дня!

Js код:


var iframe = $('iframe')
console.log(iframe.contentWindow)

var reserver = $("#reserverFixe");
var socials = $("#socialsMain");
var reserverCollapseHeight = 223;
var socialsCollapseHeight = 139;
var bothCollapseHeight = 337;
var reserverCollapseHeightMobile = 65 ;
var socialsCollapseHeightMobile = 100;
var bothCollapseHeightMobile = 255;
const vw = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);

if ($('body').scrollY >= bothCollapseHeightMobile) {
  socials.addClass("fixeVisibilityHidden")
  reserver.addClass("fixeVisibilityHidden")
};

window.addEventListener('scroll', function(e) {

  if (vw < 960 ){
        if (window.scrollY >= reserverCollapseHeightMobile) {
          reserver.addClass("fixeCollapsed")
        }
        else { reserver.removeClass("fixeCollapsed")};

        if (window.scrollY >= socialsCollapseHeightMobile) {
          socials.addClass("fixeCollapsed")
        }
        else { socials.removeClass("fixeCollapsed")};

        if (window.scrollY >= bothCollapseHeightMobile) {
          socials.addClass("fixeVisibilityHidden")
          reserver.addClass("fixeVisibilityHidden")
        }
        else { 
          socials.removeClass("fixeVisibilityHidden")
          reserver.removeClass("fixeVisibilityHidden")
      }
  }

  else {
      if (window.scrollY >= reserverCollapseHeight) {
        reserver.addClass("fixeCollapsed")
      }
      else { reserver.removeClass("fixeCollapsed")};

      if (window.scrollY >= socialsCollapseHeight) {
        socials.addClass("fixeCollapsed")
      }
      else { socials.removeClass("fixeCollapsed")};

      if (window.scrollY >= bothCollapseHeight) {
        socials.addClass("fixeVisibilityHidden")
        reserver.addClass("fixeVisibilityHidden")
      }
      else { 
        socials.removeClass("fixeVisibilityHidden")
        reserver.removeClass("fixeVisibilityHidden")
    }
  }
});

А CSS:

    margin: auto;
    height: 300px;
    margin-top: -153px;
    width: 500px;
    display: block;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...