Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   окно открывается по щелчку на него а скрывается по щелчку на любую область (https://javascript.ru/forum/dom-window/16248-okno-otkryvaetsya-po-shhelchku-na-nego-skryvaetsya-po-shhelchku-na-lyubuyu-oblast.html)

jayson 31.03.2011 10:40

окно открывается по щелчку на него а скрывается по щелчку на любую область
 
то что мне нужно можно увидеть визуально на этом форуме
видите кнопки сверху справа - Опции темы, Искать в теме
при нажатии на одну из этих кнопок открывается окошко, а если нажать в любое место страницы то оно пропадает

вот вопрос и заключается в этом как такое сделать чтобы при нажатии на нужный объект вылезало окошко а если нажать на любое место экрана то оно пропадало

dmitriymar 31.03.2011 10:44

http://javascript.ru/manual

jayson 31.03.2011 10:59

согласен, но очень срочно нужна ваша помощь господа

dmitriymar 31.03.2011 11:02

http://javascript.ru/forum/job/

jayson 31.03.2011 11:05

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

walik 31.03.2011 11:15

На body вешаешь onclick. Проверяешь по какому элементу был сделан клик, если это не тот элемент что тебе надо то прячешь, иначе оставляешь открытым (или открываешь).

jayson 31.03.2011 11:38

это все понятно, можно пример кода только не пойме вы имели ввиду onclick или jquery click ?

walik 31.03.2011 12:30

Цитата:

Сообщение от jayson
onclick или jquery click

И то и другое можете использовать.

Цитата:

Сообщение от jayson
можно пример кода

Какой пример ? Вы что, одно условие не можете составить ? если да, то вы ошиблись профессией.

jayson 31.03.2011 12:49

просто пример надо, зачет сразу агриться

Gvozd 31.03.2011 13:18

http://javascript.ru/tutorial/events...vaniya-sobytiy
http://javascript.ru/tutorial/events...nye-s-sobytiem

прочитав эти материалы, вы узнаете, как повесить обработчик события на body, и при этом отличить клик по вашему элементу от всех иных кликов

jayson 31.03.2011 15:58

может кто по делу напишет?:-?

melky 31.03.2011 16:08

вам даже ссылки на мануалы дали. осталось просто прочитать

jayson 31.03.2011 16:10

например у меня такой код

html

<body id="body_telo">
<div id="menu_1">Menu
<div id="category_1" display="none">
<div>odin</div>
<div>dva</div>
<div>tri</div>
</div>
</div>

js

$("#menu_1").click(function () {
$("#category_1").show();
});
$("#body_telo").click(function () {
$("#category_1").hide();
});

-------------

я полагаю тут надо делать сравнение если иначе но незнаю как помогите двигаться дальше ...:-?

dmitriymar 31.03.2011 16:19

Цитата:

Сообщение от jayson
я полагаю тут надо делать сравнение если иначе но незнаю как помогите двигаться дальше ...

тебе дать ссылку на маны или сам погугиш:D

melky 31.03.2011 16:30

<div id="menu_1" style="background-color: #252525;color:lime;">Menu
<div id="category_1" style="display:none;padding: 6px; background-color: yellow;">
<div>odin</div>
<div>dva</div>

</div></div>

<script>
t = document.getElementById("menu_1");
t2 = document.getElementById("category_1");

window.onclick = function(e){

var target =  (e=e||window.event).target || e.srcElement;

if( target  == t ){ if( t2.style.display == 'none' ) t2.style.display = 'block';
} else {
if( t2.style.display !== 'none' && target == document.body) t2.style.display = 'none';
}


}
</script>


.

jayson 31.03.2011 16:32

спасибо щас посмотрю

jayson 31.03.2011 16:50

$(function() {
$("#menu_1").click(function () {
if( $("#category_1").is(":hidden") ) {
$("#category_1").show();
}
else {
$("#category_1").hide();
}
});
});

вот код сделал, НО только он закрывает окно если нажать тудаже а как сделать чтобы окно закрывалось нажав на боди

melky 31.03.2011 16:55

печаль, ужасная пичаль :(

jayson 31.03.2011 17:06

печаль в том что на джимКери ?

walik 31.03.2011 17:32

Цитата:

Сообщение от jayson
печаль в том что на джимКери ?

В том что тупишь жестоко. Выше melky, тебе показал как это делается, тяжело посмотреть его код и сделать ?

jayson 31.03.2011 17:34

он сделал на js, а у меня на jquery
помогите доделать мой код

melky 31.03.2011 18:13

какая разница на чем он?

без фреймворков он работать с 2 раза быстрее будет

jayson 31.03.2011 21:57

melky спасибо что помог мне в любом случае я тебе благодарен за помощь

jayson 31.03.2011 22:25

melky кстати не работает(((

открывать открывает , и то с задержкой , а говооришь должно быстрее в два раза плюс не скрывает вообще(((((((( вот это да печальg

jayson 01.04.2011 20:38

есть соображения почему не работает ?

jayson 01.04.2011 20:40

??

jayson 01.04.2011 20:45

?блин сглючил браузер удалите бред сообщения

Gvozd 01.04.2011 21:16

Цитата:

Сообщение от jayson
удалите бред сообщения

это все что ли?

melky 01.04.2011 21:54

джейсон, не надо использовать jqwerty, она сервер запросами загружает!

.. первое увидел в резюме ) второе на форуме javascript.ru

jayson 01.04.2011 23:52

всмысле что увидел?

jayson 01.04.2011 23:52

почему у меня не работает твой скрипт(?


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