本文介绍了jQuery动画中的setTimeout的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在setTimeout()中遇到问题.我希望在mouseout状态下,子菜单在间隔(500毫秒)后向上滑动.但是setTimeout()无法正常工作.

I'm having a problem with the setTimeout(). I want, in the mouseout state, that the submenu slides Up after a interval (500 miliseconds). But the setTimeout() isn't working.

类似于此链接: http://jsfiddle.net/felipepalazzo/Xyhvn/2/

代码:

(function($){
    $.fn.showMenu = function(options){

        var settings = $.extend({
            height  : '40px',
            speed   : '500',
            heightx : '20px'
        }, options || {});

        return this.each(function(){
           var elem = $(this);
           var menu_timer;
            elem.hover(function(){
                $(this).stop().animate({'height' : settings.height}, settings.speed);
                    }, function(){
                      //setTimeout(function(){
                      $(this).stop().animate({'height' : settings.heightx}, settings.speed);
                            //},500);
                    });
        });
    };
})(jQuery);

推荐答案

这超出了范围.

var that = this;
setTimeout(function(){
    $(that).stop().animate({'height' : settings.heightx}, settings.speed);
},500);

这篇关于jQuery动画中的setTimeout的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 01:20