如何将Mootools代码转换为jQuery代码以便向下滑动,然后滚动到#current?

时间:2011-10-17 18:25:29

标签: jquery mootools onstart

我想知道Mootools中有类似 onStart onComplete 的API,这让我很好奇我在哪里获得了jQuery的API ...有一个示例脚本:

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 个答案:

答案 0 :(得分:1)

jQuery动画不像mootools那样被创建为对象,而只是在元素上调用的方法。没有onstart事件 - 在调用动画方法之前,您只需调用任何onstart代码。 oncomplete的jquery equivelant是动画方法的回调参数。动画完成后调用回调。

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