Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.06.2012, 19:55
Аватар для Wolk_
Интересующийся
Отправить личное сообщение для Wolk_ Посмотреть профиль Найти все сообщения от Wolk_
 
Регистрация: 01.04.2012
Сообщений: 13

Закрытие списка при клике на любую область страницы
Доброго времени суток, собственно вопрос обозначен в заголовке темы. Имеется простейший раскрывающийся по клику список, закрывается он по повторному клику на заголовок списка, а хотелось бы, чтобы при клике на любую область сайта.

Код списка:
function look(type){
 param=document.getElementById(type);
 if(param.style.display == "none") param.style.display = "block";
 else param.style.display = "none"
}


Подкиньте простейшее решение данного вопроса, думаю, что нужно копать в сторону target, но реализовать под имеющийся скрипт у меня не получилось.
Ответить с цитированием
  #2 (permalink)  
Старый 09.06.2012, 19:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Wolk_,
Имхо - с двух секундной задержкой при отводе курсора от списка
Ответить с цитированием
  #3 (permalink)  
Старый 09.06.2012, 20:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<style type="text/css">
    #spisok {
        position: absolute;
        display: none;
        width: 100px;
        height: 100px;
        background-color: #00ff00;
    }
</style>
<div>
    <a href="" id="spisokOpenClose">Открыть</a>
    <div id="spisok">Список</div>
</div>
<script type="text/javascript">
    document.getElementById( 'spisokOpenClose' ).onclick = function( e ) {

        var spisok = document.getElementById( 'spisok' );

        e = e || window.event;

        if ( spisok.style.display == 'block' ) {
            spisok.style.display = 'none';
        } else {
            spisok.style.display = 'block';
        }
        if ( e.stopPropogation ) {
            e.stopPropagation();
        } else {
            e.cancelBubble = true;
        }

        return false;
    }

    document.onclick = function( e ) {

        var spisok = document.getElementById( 'spisok' );

        e = e || window.event;

        if ( ( e.target || e.srcElement ) !== spisok ) {
            spisok.style.display = 'none';
        }
    }
</script>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2013, 23:50
Аспирант
Отправить личное сообщение для zerofx Посмотреть профиль Найти все сообщения от zerofx
 
Регистрация: 08.11.2013
Сообщений: 78

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При достижении низа страницы prokopoffmusic jQuery 0 21.06.2011 04:52
установить переменную сессии через ajax при загрузке страницы optik77 AJAX и COMET 3 02.06.2011 17:36
Подбор варианта из списка select при наборе текста omvitamin Элементы интерфейса 6 04.04.2011 14:48
Dojo может подгружать информацию из пунктов меню только при клике на выбранный пункт? vlad275 Dojo toolkit 0 30.10.2008 15:56
При первом клике список не раскрывается. lancer Элементы интерфейса 1 30.03.2008 17:24