Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Плавное затемнение всего кроме одного div'a (https://javascript.ru/forum/dom-window/7272-plavnoe-zatemnenie-vsego-krome-odnogo-div%27.html)

DiGiT 23.01.2010 20:09

Плавное затемнение всего кроме одного div'a
 
Это мой первый пост тут, так что всем привет! :) Итак. Есть страница. На ней есть div с рекламой (блок тизеров). Задача:
при открытии страницы, на несколько секунд она затемняется полностью, по-типу, как в Lightbox, кроме того самого div'a с рекламой. А потом, затемнение должно исчезнуть (желательно плавно). Т.е. нужно на пару секунд акцентировать внимание на блоке с рекламой, что долно очень положительно сказаться на CTR.

Посмотрел, кучу реализацией Lightbox'ов тут http://dustweb.ru/log/2008/07/17/lightbox_n_clones/, но в силу скудости знаний о JS выдрать нужный кусок кода не смог.

Возможно, люди поопытнее смогут подтолкнуть меня в нужном направлении. Может, что-то похожее уже где-то реализовано.

B~Vladi 25.01.2010 14:34

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

DiGiT 25.01.2010 19:07

Ну спасибо :) HTML я уже 11 лет как знаю :) И не только. Даже кое-какие парсеры на пыхе быдлокожу... Фактически я ищу возможное готовое решение, ибо сильно выковыривать из непонятного синтаксиса непонятные строчки :stop:

B~Vladi 25.01.2010 20:17

Цитата:

Сообщение от DiGiT
Ну спасибо HTML я уже 11 лет как знаю И не только.

Я про JavaScript говорил. Готового решения не могу подсказать.

neurostep 26.01.2010 09:39

ИМХО, Ваш вариант можно сделать абсолютно без скриптов. Затемнение происходит почти во всех лайт боксах с помощью добавления дива со стилями position:fixed и бооольшим z-index. Можно к нужному диву применить на время(а может и на совсем, в зависимости от того, что нужно) тот же position:fixed или position:absolute с z-index'ом, большим, чем у "фона".

DiGiT 26.01.2010 13:34

Спасибо! Вот это уже для меня понятно. Слой с нужным дивом "поближе" к зрителю, а остальное, "чуть дальше" по таймеру. Осталось выковырять сами строчки отвечающие за плавное затемнение.

DiGiT 30.01.2010 14:23

Нужный div будет размещён поближе:
<div style="position:absolute; z-index: 1000">ADS</div>

А всё что останется - сделать исчезновение затемнения по таймеру.
Нашёл хороший пример попроще http://sandbox.leigeber.com/dialog/dialog_box.html
С примером "Error" затемнение засветление убирается через указанные в параметре функции showDialog() 2 секунды.

А вот код, отвечающий за это:
http://sandbox.leigeber.com/dialog/dialog_box.js

Помогите, пожалуйста, выбросить из этого кода все "лишние" строчки, так, чтобы ф-ция showDialog() имела только один параметр autohide - время, через которое должен исчезать эффект. Повешу её на событие onload и всё будет отлично.


Найдено альтернативное решение.

З.Ы. Кстати, подскажите пожалуйста, как потом поставить фокус на нужный div. Ведь к моменту срабатывания onload посетитель уже может пролистать страницу далеко вниз.


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