С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для webarts
73 / 17 / 0
Регистрация: 23.12.2010
Сообщений: 203

Сворачивание окна по клику в любом месте окна браузера

19.07.2013, 15:28. Показов 2755. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую уважаемые форумчане. Есть сайт bm05.ru. Верху над логотипом есть две разворачивающиеся формы отправки сообщений: "Задайте нам вопрос и Онлайн заявка". Они разворачиваются и сворачиваются при клике непосредственно на них. Нужно сделать, чтоб они сворачивались при клике на любом месте браузера. Буду очень признателен за помощь. Прилагаю код.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
var array = new Array();
var speed = 10;
var timer = 10;
 
// Loop through all the divs in the slider parent div //
// Calculate seach content divs height and set it to a variable //
function slider(target,showfirst) {
 var slider = document.getElementById(target);
 var divs = slider.getElementsByTagName('div');
 var divslength = divs.length;
 for(i = 0; i < divslength; i++) {
 var div = divs[i];
 var divid = div.id;
 if(divid.indexOf("header") != -1) {
 div.onclick = new Function("processClick(this)");
 } else if(divid.indexOf("content") != -1) {
 var section = divid.replace('-content','');
 array.push(section);
 div.maxh = div.offsetHeight;
 if(showfirst == 1 && i == 1) {
 div.style.display = 'block';
 } else {
 div.style.display = 'none';
 }
 }
 }
}
 
// Process the click - expand the selected content and collapse the others //
function processClick(div) {
 var catlength = array.length;
 for(i = 0; i < catlength; i++) {
 var section = array[i];
 var head = document.getElementById(section + '-header');
 var cont = section + '-content';
 var contdiv = document.getElementById(cont);
 clearInterval(contdiv.timer);
 if(head == div && contdiv.style.display == 'none') {
 contdiv.style.height = '0px';
 contdiv.style.display = 'block';
 initSlide(cont,1);
 } else if(contdiv.style.display == 'block') {
 initSlide(cont,-1);
 }
 }
}
 
// Setup the variables and call the slide function //
function initSlide(id,dir) {
 var cont = document.getElementById(id);
 var maxh = cont.maxh;
 cont.direction = dir;
 cont.timer = setInterval("slide('" + id + "')", timer);
}
 
// Collapse or expand the div by incrementally changing the divs height and opacity //
function slide(id) {
 var cont = document.getElementById(id);
 var maxh = cont.maxh;
 var currheight = cont.offsetHeight;
 var dist;
 if(cont.direction == 1) {
 dist = (Math.round((maxh - currheight) / speed));
 } else {
 dist = (Math.round(currheight / speed));
 }
 if(dist <= 1) {
 dist = 1;
 }
 cont.style.height = currheight + (dist * cont.direction) + 'px';
 cont.style.opacity = currheight / cont.maxh;
 cont.style.filter = 'alpha(opacity=' + (currheight * 100 / cont.maxh) + ')';
 if(currheight < 2 && cont.direction != 1) {
 cont.style.display = 'none';
 clearInterval(cont.timer);
 } else if(currheight > (maxh - 2) && cont.direction == 1) {
 clearInterval(cont.timer);
 
 }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.07.2013, 15:28
Ответы с готовыми решениями:

Как заставить блок с position fixed останавливаться и прилипать в нужном месте окна браузера?
Господа спецы по JS, подскажите, пожалуйста, решение. Есть HTML код: &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;style...

Сворачивание окна на терминале
Народ привет! В терминале если придерживать правый верхний угол секунд 5 то окно сворачивается, ну это в обычном школьном терминале. ...

Вызов модального окна по клику на object
Доброго всем дня! Есть сайт на котором обитает народ &quot;от мала до велика&quot;. Хочется сделать так, чтобы по клику на плеер от YouTube...

3
33 / 33 / 6
Регистрация: 14.03.2013
Сообщений: 89
19.07.2013, 19:22
Ваш сайт не доступен, а вообще делается это так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
   document.onclick  = function(e){
       e = e || window.event
       var target = e.target || e.srcElement
       
       if (target.id  != 'mydiv'){
           // Спряттать блок
       } else  {
          //.........
       }
                
   }
0
 Аватар для webarts
73 / 17 / 0
Регистрация: 23.12.2010
Сообщений: 203
19.07.2013, 19:45  [ТС]
Цитата Сообщение от alokazay Посмотреть сообщение
Ваш сайт не доступен
Напугали. ) Все доступно

Добавлено через 4 минуты
Цитата Сообщение от alokazay Посмотреть сообщение
Ваш сайт не доступен, а вообще делается это так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
   document.onclick  = function(e){
       e = e || window.event
       var target = e.target || e.srcElement
       
       if (target.id  != 'mydiv'){
           // Спряттать блок
       } else  {
          //.........
       }
                
   }
а куда этот код вставлять в какое место я ничего в этом не понимаю?
0
 Аватар для JsLoveR
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
22.07.2013, 13:54
webarts, туда же, где находится тот скрипт, который вы выложили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2013, 13:54
Помогаю со студенческими работами здесь

Перезагрузка окна браузера
начал учить js неделю назад , добрался до браузерной части и первый раз столкнулся с необходимостью обновления страницы в браузере онлайн,...

Запись видео с окна браузера
Пишу диплом: есть сайт, на котором имеются видеолекции с презентациями(на одной половине видео с лектором, на второй слайды, меняющиеся по...

Определение максимальной высоты окна браузера
Здравствуйте, Никак не могу найти решение для следующей задачи: Как Вы знаете у каждого типа браузеров своя высота рабочей области, с...

Событие на закрытие окна браузера пользователем
Доброго времени суток всем! Помогите разобраться и решить такой вопрос: Есть открытое окно браузера. Мне нужно кроссбраузерно отследить...

Расстояние от элемента до края окна браузера
Здравствуйте. Есть некий див 200px на 200px имеющий position: absolute. Как посчитать расстояние в пикселях от левого верхнего угла дива...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru