Как преобразовать код Mootools в код jQuery для скольжения вниз, а затем перейти к #current? - PullRequest
0 голосов
/ 17 октября 2011

Мне было интересно, есть ли такой тип API, как onStart и onComplete от Mootools, мне интересно, где я получаю эти API для jQuery ... там пример сценария:

var slidez = null;
function closeOpen(ref) {
    //return
    if (ref != slidez && slidez.wrapper.offsetHeight > 0) {
        slidez.slideOut();
    }
}

window.addEvent('domready', function() {
    slidez = new Fx.Slide('hello_content', {
        duration: 1000,
        onStart: function(request) {
            if (this.wrapper.offsetHeight == 0) {
                closeOpen(slidez);
            }
        },
        onComplete: function(request) {
            if (this.wrapper.offsetHeight > 0) {
                new Fx.Scroll(window).toElement($('toggle_content'));
            }
        }
    });

    $('toggle_content').addEvent('click', function(e) {
        e = new Event(e);
        slidez.toggle();
        e.stop();
    });
    slidez.hide();
}); 

Я пытался преобразовать его в код jQuery, но иногда это не удавалось, и я тратил впустую свое время, мне нужна помощь здесь ...

Заранее спасибо!

1 Ответ

1 голос
/ 17 октября 2011

jQuery-анимации создаются не как объекты, как в mootools, а скорее как методы, вызываемые для элементов. Событие onstart отсутствует - вам нужно просто вызвать любой код onstart, прежде чем вызывать метод анимации. JQuery Equivelant OnComplete является аргумент обратного вызова для метода анимации. Обратный вызов вызывается, когда анимация завершена.

$(function() {
    $("#toggle_content").click(function (e) {
        var toggle_content = this;
        $("#hello_content").slideToggle(1000, function () {
            if ($(this).height() > 0) {
                toggleContent.scrollIntoView();
            }
        });
    });
    $("#hello_content").hide();
});
...