Показать сообщение отдельно
  #2 (permalink)  
Старый 18.03.2012, 18:55
Аспирант
Отправить личное сообщение для atlantis Посмотреть профиль Найти все сообщения от atlantis
 
Регистрация: 18.03.2012
Сообщений: 95

Ну как то так:
$(function() {
    $('.links').each(function () {
        var distance = 0;
        var time = 400;
        var hideDelay = 200;

        var hideDelayTimer = null;

        var beingShown = false;
        var shown = false;
        var trigger = $('#download', this);
        var info = $('.downloadBox', this).css('opacity', 0);

        $([trigger.get(0), info.get(0)]).show(function () {
            if (hideDelayTimer) clearTimeout(hideDelayTimer);
            if (beingShown || shown) {
                // don't trigger the animation again
                return;
            } else {
                // reset position of info box
                beingShown = true;

                info.css({ 
                    top: -5,
                    left: 0,
                    display: 'block'
                }).animate({
                    top: 25,
                    opacity: 1
                }, time, 'swing', function() {
                    beingShown = false;
                    shown = true;
                });
            }
            return false;
        });
		$('#close').hide(function () {
            if (hideDelayTimer) clearTimeout(hideDelayTimer);
            hideDelayTimer = setTimeout(function () {
                hideDelayTimer = null;
                info.animate({
                    top: -5,
                    opacity: 0
                }, time, 'swing', function () {
                    shown = false;
                    info.css('display', 'none');
                });

            }, hideDelay);

            return false;
        });
    });
});

Поставь кнопку в блоке (например) "Закрыть" с id #close.
Должно работать. Не проверял!

Последний раз редактировалось atlantis, 18.03.2012 в 18:59. Причина: опечатка ))
Ответить с цитированием