/ / $ (вікно) .scroll не працює належним чином на мобільних пристроях та в Internet Explorer - javascript, jquery, html, css, mobile

$ (window) .scroll не працює належним чином на мобільних пристроях та інтернет-провіднику - javascript, jquery, html, css, mobile

Я використовую jQuery-1.10.2 і використовую функцію $(window).scroll. The $(window).scroll не виконується під час прокрутки на мобільному пристрої, а, коли мій палець відпускає екран після прокрутки. $(window).scroll також затримується на IE10.

я використовую $(window).scroll щоб прокрутити сторінку навігаційної панелі, змінивши властивість css top: на position:fixed; навігаційна панель. При прокрутці вниз для достатньої кількості, панель навігації закінчується прилипанням до верхньої частини сторінки як position:fixed. Чи існує більш сумісна альтернатива для досягнення однакових результатів на моїй панелі навігації? Чи є виправлення для мобільних або IE10?

$(window).scroll(function () {
$(".navbar").css("top", Math.max(0, 350 - $(this).scrollTop()));
var scroll = $(document).scrollTop();
});

Ось скрипка без зображень. Подивіться на панель навігації. http://jsfiddle.net/93tzq/

Відповіді:

0 для відповіді № 1

Якщо я розумію, що ти хочеш робитиправильно, я майже впевнений, що ти перестарався думати про це. Щоб зберегти елемент навігації вгорі, поки ти прокручуєшся, тобі не потрібні будь-які js. Все, що тобі потрібно зробити, це встановити z-індекс і позицію відповідно.

Наприклад:

.nav-overlay{

position: absolute;
top: 90px;
left: 10%;
z-index: 100;
display: block;
width: 50px;
height: 50px;
}

Потім помістіть html таким чином:

<nav class="nav-overlay">
NAV BAR HERE
</nav>

0 для відповіді № 2

Ви не вказали мобільний браузер, але це- поширене запитання щодо Safari в iOS. MobileSafari не запускає window.scroll до тих пір, поки прокрутка не закінчиться - це проблема, з якою вирішувались безліч способів (див. iscroll, наприклад). Тут "a a аналогічний пост це може відповісти на ваше запитання, що стосується створення липкої навігаційної панелі.