Witam mam taki problem otóż zaczynam sie uczyć JS i powiedzcie mi oco chodzi no bo tak... Robie stronke i ma sie wykonać bardzo prosty skrypt kiedy kliknę na lupkę to ma mi wyskoczyć div z inputem do wpisania po ponownym wciśnięciu div ma znowu zniknąć. Problem sobie sam rozwiązałem oto takim sposobem i działa oki.
<body>
<div class="searh-section ml-md-auto">
<input id="searhInput" type="text" value="searh.." onFocus="this.value='' ">
<i onclick="searhClick()">Lupka</i>
</div>
<script type="text/javascript">
var searhDisplay = "none";
function searhClick()
{
if(searhDisplay == "none")
{
alert(searhDisplay);
document.getElementById('searhInput').style.display = 'inline-block';
searhDisplay = "inline-block";
alert(searhDisplay);
}
else if (searhDisplay == "inline-block")
{
document.getElementById('searhInput').style.display = 'none';
}
}
</script>
Jak mowie problem rozwiązany ale na początku miałem inny pomysł zeby do zmiennej searhDisplay przypisać bezpośrednio z css styl display czyli w ten oto sposób
<script type="text/javascript">
var searhDisplay = document.getElementById('searhInput').style.display;
function searhClick()
{
if(searhDisplay = "none")
{
alert(searhDisplay);
document.getElementById('searhInput').style.display = 'inline-block';
searhDisplay = "inline-block";
alert(searhDisplay);
}
else if (searhDisplay = "inline-block")
{
document.getElementById('searhInput').style.display = 'none';
}
}
</script>
I możecie mi powiedzieć czemu w tym przypadku program działa tylko w tedy kiedy w if jest jeden znak równości a nie 2 ? Przecież znak = to znak przypisania a == to znak porównania :/
searh
wygląda oryginalnie.