добавление класса к кнопке, когда другой элемент прокручивается в область просмотра - PullRequest
1 голос
/ 19 февраля 2020

У меня есть одна кнопка stati c и один элемент, который прокручивается. Когда прокручиваемый элемент входит в область просмотра браузера, я хочу, чтобы кнопка stati c получила класс (например, подчеркивание). У меня есть это сейчас, но это не работает:

function isScrolledIntoView(elem) {
    var docViewTop = jQuery(window).scrollTop();
    var docViewBottom = docViewTop + jQuery(window).height();

    var elemTop = jQuery(elem).offset().top;
    var elemBottom = elemTop + jQuery(elem).height();

    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

jQuery(window).scroll(function () {
    jQuery('#my-scrolling-element').each(function () {
        if (isScrolledIntoView(this) === true) {
            jQuery('#my-static-button').addClass('my-class');
        }
    });

});

Любая помощь будет высоко ценится

1 Ответ

2 голосов
/ 21 февраля 2020

если вы хотите добавить класс к элементу, который является типом ввода, то будет работать код ниже. в противном случае, пожалуйста, предоставьте мне фрагмент кода. Пожалуйста, примите ответ, если он вам поможет.

jQuery(window).scroll(function() {
  element = jQuery('#my-scrolling-element');
  if (isScrolledIntoView(element) === true) {
    jQuery('#my-static-button')
    //if the type of element is input then it will work.
    $("input[id^='my-scrolling-element_']").addClass('my-class');
  } else {
    jQuery('#my-static-button').removeClass('my-class');
  }
});

//OR 
jQuery(window).scroll(function() {
  element = jQuery('#my-scrolling-element');
  if (isScrolledIntoView(element) === true) {
    jQuery('#my-static-button').addClass('my-class');
  } else {
    jQuery('#my-static-button').removeClass('my-class');
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...