Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   вопрос по fadeIn fadeOut (https://javascript.ru/forum/jquery/11809-vopros-po-fadein-fadeout.html)

BMWSauber 14.09.2010 19:28

вопрос по fadeIn fadeOut
 
пособытию

<img src="img/astart.png" onClick="startMenu()">


функцией

function startMenu () {
$("#startMenu").fadeIn(300);
}


открывается слой, Вопрос, как сделать чтоб он закрывался(fadeOut) щелчком по тому же обьекту, т.е. img src="img/start.png"

желательно в jQuery же.

exec 14.09.2010 19:44

function startMenu () {
var a = $("#startMenu");
a[ a.is(':hidden') ? 'fadeIn' : 'fadeOut' ](300);
}

BMWSauber 14.09.2010 19:50

можно и так, Спасибо, если есть еще варианты пишите, жду

exec 14.09.2010 19:52

Чем мой код не нравится?

BMWSauber 14.09.2010 21:09

почему не нравится, нравится! и работает хорошо, просто интересно рассмотреть варианы, если они есть конечно. )))

exec 15.09.2010 12:13

Вариантов больше нет, в любом случае надо проверять видимость элемента и в зависимости от неё запускать fadeIn/fadeOut.

MadGest 15.09.2010 12:19

Функция предложенная exec сработает идеально и всегда верно так как проверяет текущее состояние объекта. Как альтернатива можно применить
событие toggle.
$("#img").toggle(function()
{
   $(this).fadeIn(3000);
},function()
{
  $(this).fadeOut(3000);
});

BatteryLow 15.09.2010 15:26

или так :
$('#img_click').click(function (){
  $('#startMenu').slideToggle(300);
});


<img id="img_click" src="img/astart.png" height="100" width="100" alt="не забывавем про размеры и альт">

exec 15.09.2010 15:58

BatteryLow, это "сворачивание" элемента, а ТС нужно "растворение".

Suharik 15.09.2010 17:12

Хочу тоже вклинится в пост и тоже спросить по теме ))
есть <img src="iconka.png" onclick="openPhoto()">

и есть див <div id="myid" style="display:none"> ну вобщем тупо квадрат</div>

теперь вопрос:
Как мне открыть див с помощью fadeIn ну и потом закрыть этот див.

function openPhoto (){
$('#myid').css("display","block").fadeIn(500);
}


Так не выходит((


Часовой пояс GMT +3, время: 23:59.