Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Событие при скролле 2/3 страницы (https://javascript.ru/forum/dom-window/32231-sobytie-pri-skrolle-2-3-stranicy.html)

NetMale 08.10.2012 18:01

Событие при скролле 2/3 страницы
 
Добрый день.
У меня такой вопрос возник. Хочу, чтобы, скажем, возникало определенное событие в тот момент, как я проскроллил 2/3 страницы.
Делал я так с помощью jquery:

var need_height = 2/3 * jQuery('body').height();
jQuery(window).scroll(function() {
		if (jQuery(window).scrollTop() > need_height) {
                    alert('Вы проскроллили 2/3 страницы');
		}
});


Однако, когда высота документа, т е body чуть больше window, то событие не происходит, хотя ведь должно. И таких страниц на сайте много.
Прошу вашей помощи.
Заранее благодарен за толковый ответ.
PS, все-таки склоняюсь, что с математикой тут не то, но вот мысль не могу навеять.

dmitriymar 08.10.2012 18:31

высота окна и высота боди это разные вещи. если хотите от размеров окна/браузера/экрана то и вычисляйте от них

NetMale 08.10.2012 18:52

пробовал и body и window и document - тщетно, все равно скролла не хватает, чтобы достичь заветной отметки..

dmitriymar 08.10.2012 19:41

http://javascript.ru/blog/andrej-par...-okna-brauzera

bes 09.10.2012 11:43

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>

<script>
jQuery(function ($) {
	$(window).scroll( function (e) {
		var need_height = 2/3 * $('body').height();
		if ($(document).scrollTop() > need_height) {
                    alert('Вы проскроллили 2/3 страницы');
		}
	});
});
</script>

bes 17.09.2013 21:40

случайно наткнулся, исправлю ошибку - добавлю кнопочку run :)
<script src="http://code.jquery.com/jquery-latest.min.js"></script>

body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>
body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>body<br>

<script>
jQuery(function ($) {
	$(window).scroll( function (e) {
		var need_height = 2/3 * $('body').height();
		if ($(document).scrollTop() > need_height) {
                    alert('Вы проскроллили 2/3 страницы');
		}
	});
});
</script>


Часовой пояс GMT +3, время: 10:57.