Я використовую 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 аналогічний пост це може відповісти на ваше запитання, що стосується створення липкої навігаційної панелі.