![]() |
Сползающий слой. Хочу.
Друзья, кто знает Java скрипт, который управлял был слоем <div> таким образом, чтобы при скролинге страницы этот слой медленно сползал на свою абсолютную по отношению к окну позицию. Я видел у кого-то такие сползающие менюшки. Подскажите, пожалуйста.
|
На скрипт, писал не я, и может быть что-нибудь лишнее :rolleyes: , так что сам разбирайся
Код:
<style> |
Ладненько, спасибочки. Будем посмотреть.
|
Ещё раз спасибочки большое. Скрипт проверил, работает! Убрал лишнее function exit() последную строку убрал и сам создал <div>. И ещё кое какую мелочь подправил с переменными. Спасибо!!!
|
Для особо ленивых
Цитата:
|
1) Создайте в <body> слой: <div id="divBottom" ></div>
------------------------------------------------------ 2) Задайте ему в <head> любой стиль, например: <style> #divBottom { background-color: #990000; тыры-пыры...ля-ля-ля. } </style> ------------------------------------------------------- 3) Поместите в <head> следующий скрипт: <SCRIPT LANGUAGE=JavaScript> <!-- //Переменные gright и gbottom задают позицию слоя относительно верхнего левого угла окна: //(В старом скрипте они задавали позицию относительно нижнего правого угла ) //Далее в коментариях я покажу, где сделал небольшие изменения. var gright=400 var gbottom=100 var n = (document.layers) ? 1:0; var ie = (document.all) ? 1:0; function makeObj(obj,nest){ nest=(!nest) ? '':'document.'+nest+'.' this.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style') this.moveIt=b_moveIt; } function b_moveIt(x,y){ this.x=x; this.y=y this.css.left=this.x this.css.top=this.y } var pageWidth,pageHeight function geoInit(){ oTest=new makeObj('divBottom') pageWidth=(ie)?document.body.offsetWidth-4:innerWidth; pageHeight=(ie)?document.body.offsetHeight-2:innerHeight; checkIt() onresize=resized if(ie) window.onscroll=checkIt; } function checkIt(){ //Вот тут я кое что изменил. Кому надо позиционировать слой относительно нижнего правого угла //оставтье скрипт в этом месте как в старом варианте: if(ie) oTest.moveIt(document.body.scrollLeft +gright,document.body.scrollTop+gbottom) else if(n){ oTest.moveIt(window.pageXOffset+gright, window.pageYOffset+gbottom) setTimeout('checkIt()',20) } } function resized(){ pageWidth=(ie)?document.body.offsetWidth-4:innerWidth; pageHeight=(ie)?document.body.offsetHeight-2:innerHeight; if(ie) checkIt() } onload=geoInit; //--> </SCRIPT> ------------------------------- 4) Всё!!! Счастливого запуска! :cool: |
ПАСИБА!!!:)
|
Друзья, всё это прекрасно! Но я вот о чём подумал. А есть ли у кого скрипт, который работает чуть-чуть иначе. А именно, слой спускается не сразу при скролинге, а обладая инерцией, ждёт когда пользователь прекратит скролинг страницы и только после этого слой медленно спускается на свою позицию. А?
|
Re: Сползающий слой. Хочу.
Цитата:
|
| Часовой пояс GMT +4, время: 13:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.