|
|
#1 |
|
Модератор
|
Незамысловатый кодец такой)
Вопрос в следующем: почему при первом клике, после загрузки страницы, div не появляется, а только при втором? Спойлер
Код:
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<style type="text/css">
div#text {
border-width: 1px;
border-color: lightgrey;
border-style: dashed;
display: none;
}
a {
color: black;
border-bottom: 1px dashed lightgrey;
outline: none;
text-decoration: none;
}
</style>
<script type="text/javascript">
function opendiv() {
var text=document.getElementById('text');
if (text.style.display=='none')
{
text.style.display='block';
}
else
{
text.style.display='none';
}
}
function closediv() {
var text=document.getElementById('text');
if (text.style.display=='block')
{
text.style.display='none';
}
}
</script>
</head>
<body>
<a href="#" onclick="opendiv()">Скрытый блок:</a>
<div id="text" onclick="closediv()">
<p>Это скрытый блок</p>
<p>Для закрытия кликните по нему</p>
</div>
</body>
</html>
|
|
|
|
|
|
#2 |
|
Администратор
|
Посмотри, чему равен text.style.display при первом клике. Пустая строка. Чтобы он был равен 'none', явно укажи его с помощью inline-CSS.
Код HTML:
<div id="text" onclick="closediv()" style="display: none;">
P.S. Незачем дублировать код в двух функциях. Проще и эффективнее передавать в одну функцию флаг open/close.
__________________
[BATTLE]SERVER |
|
|
|
| Благодарности: 1 | SoaT (18.01.2011) |
|
|
#4 | ||
|
Модератор
|
Оффтоп
Добавлено через 5 минут А, ну понятно. Тут вообще всё работает на первой, так сказать, универсальной функции. Просто изучаю по youtube-урокам, а там так, видимо для понимания основ, сделано. Последний раз редактировалось SoaT; 18.01.2011 в 17:53. |
||
|
|
|
|
|
#5 |
|
Администратор
|
__________________
[BATTLE]SERVER |
|
|
|
| Благодарности: 1 | SoaT (18.01.2011) |
|
|
#6 |
|
Местный
|
SoaT, Не понял, зачем такой суровый код?
Спойлер
Код:
<script type="text/javascript">
function show(){
var show = document.getElementById('show_hide').style.display;
if (show == 'none') {
document.getElementById('show_hide').style.display='block';
document.getElementById('linkdel').innerHTML='Скрыть';
}
if (show == 'block') {
document.getElementById('show_hide').style.display='none';
document.getElementById('linkdel').innerHTML='Показать';
}
}
</script>
<div style="width:700px;">
<div style="padding:3px;text-align:left;border:1px solid gray;background:#f5f5f5;cursor:pointer;" onClick="show();" id="linkdel">Показать</div>
<div style="padding:2px;text-align:left;border:1px solid gray;background:#f5f5f5;display:none;" id="show_hide">
Скрытый текст
</div>
</div>
__________________
wish you were here Последний раз редактировалось SuperSkat; 19.01.2011 в 00:08. |
|
|
|
![]() |
| Метки |
| вопрос, code, javascript, сайт, сайтростроение |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| "Новости Intel, о Intel" | Vadim | Новости и обзоры | 584 | 07.09.2016 14:18 |
| Вопросы по CSS знатокам | dar | Web-программирование / Сайтостроение | 39 | 25.10.2010 12:23 |
| Вопросы знатокам по PHP | dar | Web-программирование / Сайтостроение | 4 | 23.07.2010 01:27 |
| Вопросы Путину | iva | На завалинке | 49 | 14.06.2010 18:28 |
| Вопросы и ответы (F.A.Q.) | MDM | Mozilla Firefox | 5 | 13.11.2006 21:09 |