公告滚动显示插件

公告滚动显示插件(jQuery插件编写)

插件代码:

/**
* 2014年11月13日
* 公告滚动显示插件
*/

(function ($) {
    $.fn.scrollNews = function (width) {
        if (this.find("li").length == 0) return;

        var ulWidth = 0;
        var currentMarginLeft = 0;
        var scrollStart = true;

        //初始化div属性
        this.parent().width(width);
        this.parent().css("overflow", "hidden");

        //初始化ul属性
        this.css("float", "left");

        //初始化li属性
        var liMarginRight = 20;
        this.find("li").css("margin-right", liMarginRight.toString() + "px");
        this.find("li").css("float", "right");

        //初始化ul宽度和当前的margin-left
        this.find("li").each(function () {
            ulWidth += $(this).width() + liMarginRight + 1;
        });
        this.width(ulWidth);
        currentMarginLeft = width;
        this.css("margin-left", currentMarginLeft);

        //滚动方法定义
        var scroll = function (obj) {
            setInterval(function () {
                if (scrollStart) {
                    obj.css("margin-left", currentMarginLeft.toString() + "px");
                    currentMarginLeft -= 1;
                    if (currentMarginLeft < -ulWidth) currentMarginLeft = width;
                }
            }, 50);
        };

        //显示div
        this.parent().css("visibility", "visible");

        //调用滚动方法
        scroll(this);

        this.mouseover(function () {
            scrollStart = false;
        });

        this.mouseout(function () {
            scrollStart = true
        });
    };
})($);
View Code

示例HTML代码:

    <div style="float: right; margin-right: 10px; margin-top: 5px; font-size: 15px; visibility: hidden;">
        <ul id="ulgg">
            <!-- BEGIN noticeList -->
            <li><a href="#{noticeLink}"><span style="color: #ff0000;">★#{notice.NoticeTitle}</span></a></li>
            <!-- END noticeList -->
        </ul>
    </div>
View Code

示例JS代码:

    $(function () {
        $("#ulgg").scrollNews(450);
    });
View Code
原文地址:https://www.cnblogs.com/s0611163/p/4095323.html