Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проблема с $.load (https://javascript.ru/forum/events/14093-problema-s-%24-load.html)

fraks 29.12.2010 09:24

Проблема с $.load
 
Доброго времени суток!
Писал код и столкнулся с такой проблемой:
У меня есть всплывающее меню в DIVе.
Информация в DIV грузиться так:
$(document).ready(function(){
$('#result').load('2.html');
})


Чтобы закрыть блок я использую
function hide_menu() {
result = document.getElementById('result');	
result.style.display = 'none';
}
.

Функция вызывается при виведении мышки из DIVа:
<div id="result" onmouseover="hide_menu();"></div>


Проблема состоит в том, что как только я навожу мышку на какую-либо информацию в блоке, он исчезает. Это из-за того, что она грузиться из другой странички.
Можно ли это как либо обойти?

ksa 29.12.2010 09:35

fraks, что именно находится в блоке? И каков его размер? Ведь событие срабатывает не просто так...

fraks 29.12.2010 09:55

Текст и картинки.
function show_menu(block) {
br = document.getElementById("block1").getBoundingClientRect();
br_last = document.getElementById("block8").getBoundingClientRect();
wth = br_last.right - br.left;
elem = document.getElementById("result");
elemstyle = elem.style;
elemstyle.display = 'none';
elemstyle.marginLeft = br.left-8+'px';
elemstyle.marginTop = br.top+32+'px';
elemstyle.background = '#666';
elemstyle.position = 'absolute';
elemstyle.height = '400px';
elemstyle.width = wth+'px';
elemstyle.display = 'block';
$(document).ready(function(){
$('#result').load('2.html');
})

Ширина по этому коду исчисляется

fraks 29.12.2010 09:59

Блок исчезает, если курсор навести на картинку внутри него

dmitriymar 29.12.2010 10:05

Цитата:

Сообщение от fraks
Чтобы закрыть блок я использую
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 function hide_menu() {
2 result = document.getElementById('result');
3 result.style.display = 'none';
4 }
.

Функция вызывается при виведении мышки из DIVа:
<div id="result" onmouseover="hide_menu();"></div>

а почему он не должен исчезать? если ты ему исчезновение при наведение на него приписываешь?

fraks 29.12.2010 10:07

Извини. Там onmouseout.

dmitriymar 29.12.2010 10:09

Цитата:

Сообщение от fraks
Извини. Там onmouseout.

<div id="result" onmouseover="hide_menu();"></div>

dmitriymar 29.12.2010 10:14

Цитата:

Сообщение от dmitriymar
Извини. Там onmouseout.

разберись сначала с тем что ты хочешь а то ты начинаеш перекручивать уже
если там оут-то при уводе мыши с него-он у тебя никогда больше не отобразится.если ты думаешь что сможешь его через овер потом отобразить -ты ошибаешься. тебе его нужно скрыть .а то что ты делаешь не только его скрывает но и убирает\блокирует обработчики прописанные в нём и всё его содержимое-пока не будет принудительно он отображён.
если всётаки первый вариант то будет исчезать-поскольку ты обработчик скрытия приписанный к этому блоку не убираешь
загрузил ты картинку -ну и что? обработчик у тебя не к картинке а к контейнеру привязан-а он у тебя остаётся неизменнен

fraks 29.12.2010 20:29

Все, проблему решил. Спасибо


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