zoomla
Version:
16年专业研发|中文alexa排名第一的CMS品牌-基于dotNET core、功能强大,集成站群、微信开发、小程序与ERP及OA办公系统,支持国际语言和多民族语言,世界五百强与大型门户专用高端网站内核CMS系统
95 lines (68 loc) • 2.43 kB
JavaScript
/*!
*@name jquery.barrager.js
*@version 1.1
*@author yaseng@uauc.net
*@url https://github.com/yaseng/jquery.barrager.js
*/
(function($) {
$.fn.barrager = function(barrage) {
barrage = $.extend({
close:true,
bottom: 0,
max: 10,
speed: 8,
color: '#fff',
old_ie_color : '#000000'
}, barrage || {});
var time = new Date().getTime();
var barrager_id = 'barrage_' + time;
var id = '#' + barrager_id;
var div_barrager = $("<div class='barrage' id='" + barrager_id + "'></div>").appendTo($(this));
var window_height = $(window).height() - 100;
var this_height = (window_height > this.height()) ? this.height() : window_height;
var window_width = $(window).width() + 500;
var this_width = (window_width > this.width()) ? this.width() : window_width;
var bottom = (barrage.bottom == 0) ? Math.floor(Math.random() * this_height) : barrage.bottom;
bottom = bottom - 40;//�������,�����߶�����ʾ
div_barrager.css("bottom", bottom + "px");
div_barrager_box = $("<div class='barrage_box cl'></div>").appendTo(div_barrager);
if(barrage.img){
div_barrager_box.append("<a class='portrait z' href='javascript:;'></a>");
var img = $("<img src='' >").appendTo(id + " .barrage_box .portrait");
img.attr('src', barrage.img);
}
div_barrager_box.append(" <div class='z p'></div>");
if(barrage.close){
div_barrager_box.append(" <div class='close z'></div>");
}
var content = $("<a title='' href='' target='_blank'></a>").appendTo(id + " .barrage_box .p");
content.attr({
'href': barrage.href,
'id': barrage.id
}).empty().append(barrage.info);
if(navigator.userAgent.indexOf("MSIE 6.0")>0 || navigator.userAgent.indexOf("MSIE 7.0")>0 || navigator.userAgent.indexOf("MSIE 8.0")>0 ){
content.css('color', barrage.old_ie_color);
}else{
content.css('color', barrage.color);
}
var i = 0;
div_barrager.css('margin-right', 0);
$(id).animate({right:this_width},barrage.speed*1000,function(){
$(id).remove();
});
div_barrager_box.mouseover(function() {
$(id).stop(true);
});
div_barrager_box.mouseout(function() {
$(id).animate({right:this_width},barrage.speed*1000,function(){
$(id).remove();
});
});
$(id+'.barrage .barrage_box .close').click(function(){
$(id).remove();
})
}
$.fn.barrager.removeAll=function(){
$('.barrage').remove();
}
})(jQuery);