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

插件代码:

公告滚动显示插件_公告滚动显示插件公告滚动显示插件_jquery插件_02

/**
* 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代码:

公告滚动显示插件_公告滚动显示插件公告滚动显示插件_jquery插件_02

<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代码:

公告滚动显示插件_公告滚动显示插件公告滚动显示插件_jquery插件_02

$(function () {
$("#ulgg").scrollNews(450);
});

View Code