
13.09.2011, 16:22
|
|
Новичок на форуме
|
|
Регистрация: 30.07.2010
Сообщений: 9
|
|
|
При наведении на определенный блок, DIV, появляется скрытое сожержимое
Всем привет!
Я не силен в javascript, но часто приходится находить, использовать разные полезные и интересные решения для своих сайтов.
На данный момент работаю над каталогом сайтов Инфо-Рунет.
Решил осуществить такую задачу, нигде не видел готового решения.
Сделать появление скрытого содержимого, по схеме на подобии блоков с вкладками (табами), пример.
Но, не при наведении на ссылку или по щелчку, а при наведении курсора на определенный блок, на подобии этого примера.
То есть при наведении на блок как бы вылезает снизу дополнительное скрытое содержимое. До этого его нет.
Надеюсь, я правильно сформулировал задачу и суть затеи понятна.
Может ли кто помочь в написании данного скрипта?
Или возможно есть какие то подобные решения?
Спасибо!
|
|

13.09.2011, 20:33
|
 |
Mr. Jacob
|
|
Регистрация: 20.01.2011
Сообщений: 194
|
|
|
Сообщение от kismedia
|
|
не при наведении на ссылку
|
|
Сообщение от kismedia
|
|
при наведении на блок как бы вылезает снизу дополнительное скрытое содержимое
|
То есть это как?
И еще, Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".
Если Вы все же хотите, чтобы Вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. Просто посмотрите какой код на тех ссылках и попробуйте разобратся что к чему.
|
|

13.09.2011, 22:36
|
|
Новичок на форуме
|
|
Регистрация: 30.07.2010
Сообщений: 9
|
|
Да, согласен, с нуля никто просто так писать не будет.
Подумал тут, а может через смену стиля блока просто реализовать.
<div onmouseover="this.className='blocksiteh'" onmouseout="this.className='blocksite'" >
При наведении сейчас вот цвет меняется, можно еще поиграть со стилем.
Если получится реализовать, так просто, напишу, покажу пример.
Спасибо!
|
|

13.09.2011, 23:30
|
|
Новичок на форуме
|
|
Регистрация: 30.07.2010
Сообщений: 9
|
|
Нашел вот этот вариант: http://www.s3blog.org/skrytye-bloki.html
Поставил, изменил условие onclick на onmouseover
Вот полный код решения:
<style>
DIV.main_block {
margin: 0px;
background-color: #F9F9F9;
border: 1px #000000 dashed;
padding: 0px;
color: #797979;
}
DIV.toggle {
padding: 5px;
cursor: pointer;
}
DIV.this_block_is_hidden {
background-color: #FFFFFF;
border-top: 1px #000000 dashed;
padding: 5px;
color: #000000;
display: none;
}
</style>
<script>
function openBlock(el) {
var kids = el.parentNode.childNodes;
for (var k = 0; k < kids.length; k++) {
var child = kids[k];
if (child && child.className == "this_block_is_hidden") {
if (child.style.display != 'block') {
child.style.display = 'block';
} else {
child.style.display = 'none';
}
}
}
}
</script>
<div class="main_block">
<div onmouseover="openBlock(this);" class="toggle">Нажмите, что бы раскрыть блок.</div>
<div class="this_block_is_hidden">это первый скрытый блок</div>
</div>
<br>
<div class="main_block">
<div onclick="openBlock(this);" class="toggle">Нажмите, что бы раскрыть блок.</div>
<div class="this_block_is_hidden">это второй скрытый блок</div>
</div>
И оно реально работает,
Но, у меня:
<div onmouseover="openBlock(this);" class="toggle">Нажмите, что бы раскрыть блок.</div>
Здесь еще несколько DIV-ов!
<div class="this_block_is_hidden">это первый скрытый блок</div>
Как в данном случае правильно идентифицировать именно этот див ("this_block_is_hidden")?
|
Цитата:
|
|
Если Вы все же хотите, чтобы Вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела
|
Усилия приложил, задаю вопрос уже по ходу дела, можно сказать, завершение решения.
Спасибо!
|
|

14.09.2011, 00:43
|
 |
Mr. Jacob
|
|
Регистрация: 20.01.2011
Сообщений: 194
|
|
|
Сообщение от kismedia
|
|
Как в данном случае правильно идентифицировать именно этот див ("this_block_is_hidden")?
|
Что-то не понял вопроса... 
|
|

14.09.2011, 01:07
|
|
Профессор
|
|
Регистрация: 23.04.2010
Сообщений: 354
|
|
Сообщение от kismedia
|
у меня:
<div onmouseover="openBlock(this);" class="toggle">Нажмите, что бы раскрыть блок.</div>
Здесь еще несколько DIV-ов!
<div class="this_block_is_hidden">это первый скрытый блок</div>
Как в данном случае правильно идентифицировать именно этот див ("this_block_is_hidden")?
|
Первый элемент с таким же классом надо полагать?
В цикле по ключу:
if(k == 0) child.doSomething();
|
|

14.09.2011, 07:53
|
|
Новичок на форуме
|
|
Регистрация: 30.07.2010
Сообщений: 9
|
|
|
Цитата:
|
|
Первый элемент с таким же классом надо полагать?
|
Ну получается да, первый элемент с классом "this_block_is_hidden" после текущего, в котором задан, собственно, задан onmouseover="openBlock(this);".
Я так понимаю, что в выше приведенном примере, открывается второй див, дочерний как бы?
|
|

10.02.2015, 12:23
|
|
Аспирант
|
|
Регистрация: 28.02.2014
Сообщений: 53
|
|
Сообщение от kismedia
|
<style>
DIV.main_block {
margin: 0px;
background-color: #F9F9F9;
border: 1px #000000 dashed;
padding: 0px;
color: #797979;
}
DIV.toggle {
padding: 5px;
cursor: pointer;
}
DIV.this_block_is_hidden {
background-color: #FFFFFF;
border-top: 1px #000000 dashed;
padding: 5px;
color: #000000;
display: none;
}
</style>
<script>
function openBlock(el) {
var kids = el.parentNode.childNodes;
for (var k = 0; k < kids.length; k++) {
var child = kids[k];
if (child && child.className == "this_block_is_hidden") {
if (child.style.display != 'block') {
child.style.display = 'block';
} else {
child.style.display = 'none';
}
}
}
}
</script>
<div class="main_block">
<div onmouseover="openBlock(this);" class="toggle">Нажмите, что бы раскрыть блок.</div>
<div class="this_block_is_hidden">это первый скрытый блок</div>
</div>
<br>
<div class="main_block">
<div onclick="openBlock(this);" class="toggle">Нажмите, что бы раскрыть блок.</div>
<div class="this_block_is_hidden">это второй скрытый блок</div>
</div>
|
Как изменить код, что-бы во время отведения курсора спрятанный блок прятался?
|
|

22.05.2015, 12:45
|
|
Новичок на форуме
|
|
Регистрация: 22.05.2015
Сообщений: 1
|
|
Сообщение от Jimmi
|
|
Как изменить код, что-бы во время отведения курсора спрятанный блок прятался?
|
а псевдокласами css почему не пользуешся ":hover" допустим
при наведении на блок visibility: visible; а без ховера visibility: hidden;
|
|

22.05.2015, 19:15
|
 |
Аспирант
|
|
Регистрация: 07.04.2015
Сообщений: 65
|
|
Карточка товара при наведении
Так же подробно и долго писать лень. Но вам выговор.
Можете заметить что старожилы этого форума не откликнулись на ваш пост. Это потому что проблема гуглиться, это во перых, а во вторых потому что такая же темя не уплыла даже на вторую страницу.
Гуглиться эта тема по запросу "раскрывающееся меню"

Последний раз редактировалось Leon-on12, 22.05.2015 в 19:24.
|
|
|
|