2011-05-27

jQuery延时绑定事件(lazy-bind)

Views: 21464 | Add Comments

有个延时绑定事件的需求, 如等待鼠标停留在某图片上面一段时间之后才展示浮动层, 以避免鼠标滑过屏幕时一片乱闪. 一时找不到合适的插件, 所以自己写了个.

// 定义
(function($){
    $.fn.lazybind = function(event, fn, timeout, abort){
        var timer = null;
        $(this).bind(event, function(){
            timer = setTimeout(fn, timeout);
        });
        if(abort == undefined){
            return;
        }
        $(this).bind(abort, function(){
            if(timer != null){
                clearTimeout(timer);
            }
        });
    };
})(jQuery);

// 使用
$('#my_img').lazybind(
    'mouseover',
    function(){
        alert(1);
    },
    240,
    'mouseout');

Related posts:

  1. JavaScript 设置浏览器标题闪动
  2. 获取动态加载的图片大小的正确方法
  3. jQuery BlockUI 页面遮挡插件
  4. jQuery 设置复选框选中状态的 BUG
  5. 消除JavaScript闭包的一般方法
Posted by ideawu at 2011-05-27 16:27:05 Tags: ,

Leave a Comment