[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как реализовать всплывающий блок
SoMeOnE
Добрый день
Мне нужно сделать выезжающий блок. Покажу на простом примере
<script type="text/javascript">
$(document).ready( function() {
$('#open_box').hover(
function () {
$('#box').slideDown(100);
},
function () {
$('#box').slideUp(100);
}
);
});
</
script>
<
div id="open_box" style="height: 20px; width: 100px; border: 1px solid">Open</div>
<
div id="box" style="display: none; height: 100px; width: 100px; border: 1px solid">test box</div>

Мне нужно такое реализовать, но только если мышь находится в блоке box после открытия, то естесствено блок не должен закрываться. Как это грамотно сделать. А то у меня много кода получается?
SoMeOnE
BaNru
Спасибо, но мне нужно не изменяя html. Там изначально верстка не очень. И даже эти малые изменения много работы создадут) Да иеще нужна поддержка ie > 8

Или все же правильно изменить html? Т.е вот эту структуру нереально нормально реализовать с помощью js?
BaNru
Не меняя HTML biggrin.gif
sergeiss
SoMeOnE, погляди на это всё "ширше" smile.gif Твоя задача, если я правильно понял, такая: подвели мышУ к ДИВу open_box и появился ДИВ box. А когда убрали мышь с ДИВа box, то он исчез.
Ну так и опиши это:
1. При событии mouseenter в ДИВе open_box появляется ДИВ box.
2. При событии mouseleave ДИВа box он исчезает.

Естестенно, второй ДИВ должен перекрывать первый, чтобы это сработало (твой CSS не анализировал, может так и перекрываются).

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
SoMeOnE
sergeiss
Если второй не положить в первый он не будет его перекрывать) Разве, что абсолютом поставить и высоту обманчиваю дать. Но тогда нижние элементы опустятся, пустота останется.
sergeiss
Цитата (SoMeOnE @ 20.02.2014 - 18:07)
Разве, абсолютом поставить и высоту обманчиваю дать.

Можно также релативом сместить второй ДИВ.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
sergeiss
Цитата (SoMeOnE @ 20.02.2014 - 17:49)
Спасибо, но мне нужно не изменяя html. Там изначально верстка не очень.

Сразу не подумал, потом мысль пришла...

Ты ж можешь изменить структуру страницы с помощью jQuery, после чего спокойно использовать тот код, который у тебя в начале темы был указан :)

Где-то так примерно (копируем объект в переменную, удаляем, создаем внутри другого объекта)
var html = $('#box').html();
$('#box').remove();
$('#open_box').append( html );

И уже после этого (не раньше!) надо установить обработчики для мыши.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
BaNru
Можно не скромный вопрос?
Нафуя?!
SoMeOnE
sergeiss
ok спасибо.

BaNru
Да все уже. Забудь об этом
BaNru
Да это не тебе был вопрос.

А тебе - чем реализация на CSS не устраивает?
SoMeOnE
Впринципе решил поменять структуру. Одним разом. Зато потом нормально будет все. Просто времени на это больше нужно. Верстка и так плывет там.
sergeiss
Цитата (BaNru @ 20.02.2014 - 18:28)
Можно не скромный вопрос?
Нафуя?!

Если это мне вопрос, то отвечу: "чтоб было" smile.gif

Человек задал вопрос о том, как ему реализовать определенный функционал. Менять структуру html, говорит, сложно. А задача со всплывающим и исчезающим блоком есть. Вот и надо тогда динамически изменить структуру страницы.

По-моему, это было вполне очевидно...

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
BaNru
Цитата (sergeiss @ 20.02.2014 - 19:11)
Человек задал вопрос о том,  как ему реализовать определенный функционал. Менять структуру html, говорит, сложно. А задача со всплывающим и исчезающим блоком есть.

И она уже была решена на CSS
Читать и смотреть мы не любим, да?

Что серьезно ни кто не увидел сообщение?
Не меняя HTML
SoMeOnE
Цитата (BaNru @ 20.02.2014 - 15:18)
Не меняя HTML

Офигеть, действительно не заметил)
Еще раз спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.