    (function($){     
    $.fn.extend({     
        marquee:function(o)  
        {     
            o = $.extend({  
                speed       :30,        //滚动的速度  
                step        :1,         //滚动的步长   
                direction   :'up',      //滚动的方向,left,right,up,down  
                pause       :1000,       //停顿的时间  
                items		:2
                      
            }, o || {});  
            //alert(o.direction);  
            var dIndex = jQuery.inArray(o.direction, ['right', 'down']);  
            if (dIndex > -1) {  
                o.direction = ['left', 'up'][dIndex];  
                o.step = -o.step;  
            }  
            var mid;  
            var div         = $(this); // 容器对象  
            var divWidth    = div.innerWidth(); // 容器宽  
            var divHeight   = div.innerHeight(); // 容器高  
            var ul          = $("ul", div);  
            var li          = $("li", ul);  
            var liSize      = li.size(); // 初始元素个数  
            var liWidth     = li.width(); // 元素宽  
            var liHeight    = li.height(); // 元素高  
            var width       = liWidth * liSize / o.items;  
            var height      = liHeight * liSize / o.items;  
            if ((o.direction == 'left' && width > divWidth) || (o.direction == 'up' && height > divHeight))   
            {  
                // 元素超出可显示范围才滚动  
                if (o.direction == 'left')   
                {  
                    ul.width(2 * liSize * liWidth);  
                    if (o.step < 0) div.scrollLeft(width);  
                }   
                else   
                {  
                    ul.height(2 * liSize * liHeight / o.items);  
                    if (o.step < 0) div.scrollTop(height);  
                }  
                ul.append(li.clone()); // 复制元素  
                mid = setInterval(_marquee, o.speed);  
                div.hover(  
                    function(){clearInterval(mid);},  
                    function(){mid = setInterval(_marquee, o.speed);}  
                );  
            }  
            function _marquee() {  
                // 滚动  
                if (o.direction == 'left') {  
                    var l = div.scrollLeft();  
                    if (o.step < 0) {  
                        div.scrollLeft((l <= 0 ? width : l) + o.step);  
                    } else {  
                        div.scrollLeft((l >= width ? 0 : l) + o.step);  
                    }  
                    if (l % liWidth == 0) _pause();  
                } else {  
                    var t = div.scrollTop();  
                    if (o.step < 0) {  
                        div.scrollTop((t <= 0 ? height : t) + o.step);  
                    } else {  
                        div.scrollTop((t >= height ? 0 : t) + o.step);  
                    }  
                    if (t % liHeight == 0) _pause();  
                }  
            }  
            function _pause() {  
                // 停顿  
                if (o.pause > 0) {  
                    var tempStep = o.step;  
                    o.step = 0;  
                    setTimeout(function() {  
                        o.step = tempStep;  
                    }, o.pause);  
                }  
            }  
              
        },  
        flash:function(p)  
        {  
              
        }   
    });            
    })(jQuery);  
