2016-04-26 2 views
0

Не могу понять, почему событие onclick запускается при запуске файла, когда он должен быть вызван, когда я нажимаю на div.событие onclick вызывается при загрузке страницы

КОД:

<html> 
<head> 
<link rel="Stylesheet" type="text/css" href="shoppingcart.css"> 
</head> 
<script type="text/javascript"> 
var count=0; 
function swap()//cannot understand why it is running on loading the page 
{ 
    if(count==0) 
    { 
    document.getElementById('log').style.display='none'; 
    count++; 
    } 
    else 
    { 
    document.getElementById('log').style.display='block'; 
    count=0; 
    } 
} 
</script> 
<body> 
<div onclick="swap()" style="padding-left:30px;height:100px;width:300px;float:left;margin-right:180px" > 
<h1 style="center">LOG IN</h1> 
</div> 
<div id="log" class="block border goudystout"> 
Email:<input type="email"/> 
Password:<input type="password"/> 
</div> 
</body> 
</html> 
+0

Нам нужно увидеть больше кода. – HaukurHaf

+0

class = "block border goudystout", возможно, вы установили ** блок ** класс отображения: блок **! Important **; поэтому он не работает. – Nabi

ответ

1

Wild догадка. Вы устанавливаете swap() в качестве обработчика div, а не swap и, следовательно, его выполнение на загрузке страницы.

+0

Я был прав :-) –

+0

после смены swap(), чтобы обменять на onclick, его по-прежнему делать то же самое – Taylor

+0

он не должен, если нет другого кода, который вы здесь не показывали. убедитесь, что вы не проверяете кешированный файл вашего файла. изменить имя метода, поставить предупреждение или console.log и проверить. –

0

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

Согласно этой статье: http://www.simplehtmlguide.com/javascript.php ...

Это законно, чтобы иметь скобки в вызове, вы можете попробовать положить точку с запятой после него, но Javascript должен быть обработка автоматической вставки точки с запятой.

0

код отлично работает для меня

Это означает, что у Вас есть проблема в файле CSS, возможно, дисплей: блок важно; для класса .block

<div id="log" class="block border goudystout"> 

Это разбивает код

Решить это!

+0

нет, только блок отвечает только размерам div в моем файле css – Taylor

Смежные вопросы