Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Событие onclick...


Автор: xdark 3.3.2011, 11:07
Почему со второго раза работает onclick, когда жму по картинке? как сделать, чтобы с одного щелчка работало?

javascript код:

Код

var f = 1;
function lr()
{
if( f == 1 )
{
$('#imgid').attr('src', 'images/leftrama.png');
f=0;
}
else{
$('#imgid').attr('src', 'images/openrama.png');
f = 1;
}
}

var r = 1;
function rr()
{
if( r == 1 )
{
$('#imgid1').attr('src', 'images/rightrama.png');
r=0;
}
else{
$('#imgid1').attr('src', 'images/openrama.png');
r = 1;
}
}


в body:

Код

<div id="lrama"><img id="imgid" src="images/leftrama.png" onclick="lr();" /></div>
<div id="rightrama"><img id="imgid1" src="images/rightrama.png" onclick="rr();" /></div>

Автор: Molodec 3.3.2011, 11:36
Здравствуйте. Попробуйте так:
Код

function lr()
{
if( f == 1 )
{
$('#imgid').attr('src', 'images/openrama.png');
f=0;
}
else{
$('#imgid').attr('src', 'images/leftrama.png');
f = 1;
}
}

Автор: xdark 3.3.2011, 11:47
Цитата(Molodec @ 3.3.2011,  11:36)
Здравствуйте. Попробуйте так:
Код

function lr()
{
if( f == 1 )
{
$('#imgid').attr('src', 'images/openrama.png');
f=0;
}
else{
$('#imgid').attr('src', 'images/leftrama.png');
f = 1;
}
}

работает, спасибо! только я не понял а чем отличается код? в упор не вижу

Автор: Molodec 3.3.2011, 12:50
Дело в том что Вы при первом щелчке заменяли leftrama.png на leftrama.png. Это, как видите одно и то же. Поэтому Вы и не видели различия. А При следующем щелчке код уже начинал работать так, как Вы этого хотели. То есть заменял leftrama.png на openrama.png.
Это было из-за того, что у Вас изначальное значение src у картинки images/leftrama.png. 
А в коде Вы изначально указываете:
Код

var f = 1;

И следовательно выполнится:
Код

if( f == 1 )
{
$('#imgid').attr('src', 'images/leftrama.png');
f=0;
}

В итоге Вы получаете тоже самое, что и было. Но f теперь равен 0. Теперь уже будет выполняться следующее действие:
Код

else{
$('#imgid').attr('src', 'images/openrama.png');
f = 1;
}

 Удачи Вам! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)