[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему надо 2 раза нажимать вместо одного?
inpost
Почему надо 2 раза нажимать вместо одного? Я не знаю в чем дело, но срабатывает она ТОЛЬКО после того, как нажмёшь на неё 2 раза. Один раз нажал - ничего... потом сижу на странице пол часа, нажимаю второй раз - работает!
На странице я ставлю рисунок, OnClick срабатывает по ссылке и передаёт данные джаваскрипту, который делает видимым div id='ima'. Вообщем, он становится видимым только после второго клика (именно второй клик, а не дважды подряд!!!).
Кто знает, почему? Скорее всего я что-то не правильно сделал...

А кто не знает - можете наслодиться легкой реализации модальных окон =)


<a href="#" onClick="look('pic1'); return false;"><img src="img/site/afbdpua_s.jpg" height="100" border="3" id="pic1" name="<img src='img/site/afbdpua.jpg' border='3'>"></a>


function look(type){
param=document.getElementById("ima");
if(param.style.display == "none") {param.style.display = "block";
var imaga = document.getElementById(type).name;
var sElem = document.getElementById("picture");
sElem.innerHTML = imaga;
}
else param.style.display = "none"
}


<div id="ima">
<table
cellpadding="0" cellspacing="0" border="0" align="center" width="100%" height="100%">
<tr><td
valign="middle" align="center">
<table
cellpadding="0" cellspacing="0" border="1" align="center" bgcolor="#FFFFFF">
<tr><td
valign="middle"><div align="center" id="picture"></div>
<br /><a
href='#' onClick='look(type); return false;'><span class="comments">Закрыть окно </span><img src="images/close.png" align="absmiddle" border="0"></a>
</td></tr>
</table></td></tr></table>
</div>


#ima {display:none; position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:4; background-image:url(images/bggrey.png)}




Спустя 10 минут, 49 секунд (25.12.2009 - 14:48) glock18 написал(а):
param.style.display == "none"

замени на

param.style.display != "block"

Спустя 1 час, 23 минуты, 36 секунд (25.12.2009 - 16:12) andyp написал(а):
Распространенная ошибка.
style возвращает только то, что прописано в атрибуте style элемента или было присвоено динамически с помощью этого же свойства style.
Так как атрибут style не указан, style.display вначале будет равен "" - пустой строке.

Спустя 1 час, 8 минут, 32 секунды (25.12.2009 - 17:21) inpost написал(а):
Ой, всем большое спасибо, и за решение и за объяснение! Как же я Вас всех очень "люблю"!!!


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.