Witam,
Posiadam funkcje, która wyświetla obiekt z efektem, już zrobiłem że gdy jeden obiekt jest widoczny i po kliknięciu na inny ten peirwszy się chowa. Lecz mam inny problem, kiedy mam pokazany obiekt to jak kliknę na niego jeszcze raz to znowu się wywołuje .show z efektem. Chciałbym zrobić że jak jest obiekt widoczny to gdy nacisnę znowu to żeby nic się nie działo. Oto kod funkcji.
function ShowObjectWithEffect(id, flag, effect, length, easing)
{
var selector = '#' + id;
var options = {};
var index;
var liczba=0;
var directions = new Array();
directions[0] = "horizontal";
directions[1] = "vertical";
directions[2] = "left";
directions[3] = "right";
directions[4] = "up";
directions[5] = "down";
for (i=0; i<6; i++)
{
index = effect.indexOf(directions[i]);
if (index != -1)
{
options = { direction : directions[i] };
effect = effect.substring(0, index);
}
}
if ($(selector).css('visibility') == 'hidden')
{
$(selector).css('display', 'none');
$(selector).css('visibility', '');
}
if (effect == 'fade')
{
if (flag == 1)
$(selector).fadeIn(length);
else
$(selector).fadeOut(length);
}
else
{
if (typeof easing != 'undefined')
{
options.easing = easing;
}
if (flag == 1)
{
$(selector).toggle(effect, options, length);
}
else
if(($(selector).css('visibility') == 'visible') && ($(selector).css('display') != 'none'))
{
$(selector).hide(effect, options, length);
}
}
}