форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Создание сайта / Определение длинны документа в пикселях
Автор Сообщение
gl_SPICE
Участник

1827
# Дата: 20 Мар 2006 14:26


Цель: Вызвать какое-либо действие, после того, как пользователь прокрутил документ более чем на 80%.
Задача: Определить высоту загруженного в браузере документа в пикселях.
Интересны любые варианты реализации, но предпочтителен JavaScript.

Андрей
Алексеевич

2123
# Дата: 20 Мар 2006 16:07


Интересны любые варианты реализации, но предпочтителен JavaScript.
Лол.

Сначала узнаем размер экрана:
if( window.innerWidth && window.innerHeight ) { // Old Opera.
var sSceneWidth = window.innerWidth;
var sSceneHeight = window.innerHeight;
} else if(top.screen) { // Netscape? (maybe)
var sSceneWidth = screen.width || screen.availWidth ? screen.width : screen.availWidth;
var sSceneHeight = screen.width || screen.availHeight ? screen.height : screen.availHeight;
} else if(document.body) { // Opera, FF, Ie
var sSceneWidth = document.body.clientWidth;
var sSceneHeight = document.body.clientHeight;
} else {
var sSceneWidth = null;
var sSceneHeight = null;
}


А теперь сравниваем экран с
document.body.scrollTop;

После чего узнаем процент от прокрутки. ПОМНИ! Погрешность 1-2% из-за того, что нерабочая область браузера тоже считается за Width и Height... Других способов увы незнаю.

gl_SPICE
Участник

1827
# Дата: 20 Мар 2006 17:15


Спасибо за помощь, конечно, вернее за отзывчивость . Задача поставлена определить не размер клиентской области браузера в котором занружен документ, а определить резмер документа в нём. Нужно определить длинну странички, если можно так выразиться.
В примитиве, событие полжно происходить так:
<script language=javascript>
function check() {
if (document.body.scrollTop>=[длинна загруженного документа]*0.8) { document.write('cool!!!');}
}
</script>
К сожалению, познания в JavaScript нулевые, вполне возможно, что решение лежит на поверхности . Но найти в И-нете не смог .

Андрей
Алексеевич

2123
# Дата: 20 Мар 2006 17:29


длинна загруженного документа
Нужно определить длинну странички, если можно так выразиться.
Ой, тьфу ты, недопонял. ))


<script language=javascript>
function check() {
if (document.body.scrollTop >= (document.body.scrollHeight*0.8) { document.write('cool!!!');
}
}
</script>


Извиняюсь, оч. тяжелый рабочий день

gl_SPICE
Участник

1827
# Дата: 20 Мар 2006 17:58 ° Поправил: gl_SPICE


Всё круто, за исключением того, что не работает .

Андрей
Алексеевич

2123
# Дата: 21 Мар 2006 02:51 ° Поправил: Андрей


Я не собираюсь писать сейчас скрипт...
Знаю, что копать надо в эту сторону:

(document.body.clientHeight + document.body.scrollTop) >= Math.round( document.body.scrollHeight * 0.8 )

gl_SPICE
Участник

1827
# Дата: 21 Мар 2006 06:41


В принцие, цель достигнута, но уж очень неэлегантно получилось . А document.body.scrollHeight я как только не вертел, ничего не вывходит . Спасибо за помощь.

gl_SPICE
Участник

1827
# Дата: 22 Мар 2006 10:22


Есть ли возможность остановить setInterval(), если окно (или документ) теряет фокус?

Андрей
Алексеевич

2123
# Дата: 22 Мар 2006 14:18


Можно на потерю фокуса повесить на setTimeout() повесить clearInterval()

gl_SPICE
Участник

1827
# Дата: 22 Мар 2006 14:49


Да нет, всё немного проще было. Мне надо было выключить таймер при потере фокуса, я просто не знал, какое событие происходит при потере фокуса . Уже всё решил .

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:28784, gzipped size:8565

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]