форум вебмастеро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 Да нет, всё немного проще было. Мне надо было выключить таймер при потере фокуса, я просто не знал, какое событие происходит при потере фокуса . Уже всё решил . |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:28784, gzipped size:8565 |