`
这些年
  • 浏览: 388738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery 右下角 信息框

    博客分类:
  • js
 
阅读更多

1:导入jquery.message.js (下载下址:http://www.jb51.net/jiaoben/22351.html

源码:

 

( function() {
	var ua = navigator.userAgent.toLowerCase();
	var is = (ua.match(/\b(chrome|opera|safari|msie|firefox)\b/) || [ '',
			'mozilla' ])[1];
	var r = '(?:' + is + '|version)[\\/: ]([\\d.]+)';
	var v = (ua.match(new RegExp(r)) || [])[1];
	jQuery.browser.is = is;
	jQuery.browser.ver = v;
	jQuery.browser[is] = true;

})();

( function(jQuery) {

	/*
	 * 
	 * jQuery Plugin - Messager
	 * 
	 * Author: corrie Mail: corrie@sina.com Homepage: www.corrie.net.cn
	 * 
	 * Copyright (c) 2008 corrie.net.cn
	 * 
	 * @license http://www.gnu.org/licenses/gpl.html [GNU General Public
	 * License]
	 * 
	 * 
	 * 
	 * $Date: 2008-12-26
	 * 
	 * $Vesion: 1.5 @ how to use and example: Please Open index.html
	 * 
	 */

	this.version = '@1.5';
	this.layer = {
		'width' :200,
		'height' :100
	};
	this.title = '信息提示';
	this.time = 4000;
	this.anims = {
		'type' :'slide',
		'speed' :600
	};
	this.timer1 = null;
	this.inits = function(title, text) {

		if ($("#message").is("div")) {
			return;
		}
		$(document.body)
				.prepend(
						'<div id="message" style="border:#b9c9ef 1px solid;z-index:100;width:'
								+ this.layer.width
								+ 'px;height:'
								+ this.layer.height
								+ 'px;position:absolute; display:none;background:#cfdef4; bottom:0; right:0; overflow:hidden;"><div style="border:1px solid #fff;border-bottom:none;width:100%;height:25px;font-size:12px;overflow:hidden;color:#1f336b;"><span id="message_close" style="float:right;padding:5px 0 5px 0;width:16px;line-height:auto;color:red;font-size:12px;font-weight:bold;text-align:center;cursor:pointer;overflow:hidden;">×</span><div style="padding:5px 0 5px 5px;width:100px;line-height:18px;text-align:left;overflow:hidden;">'
								+ title
								+ '</div><div style="clear:both;"></div></div> <div style="padding-bottom:5px;border:1px solid #fff;border-top:none;width:100%;height:auto;font-size:12px;"><div id="message_content" style="margin:0 5px 0 5px;border:#b9c9ef 1px solid;padding:10px 0 10px 5px;font-size:12px;width:'
								+ (this.layer.width - 17)
								+ 'px;height:'
								+ (this.layer.height - 50)
								+ 'px;color:#1f336b;text-align:left;overflow:hidden;">'
								+ text + '</div></div></div>');

		$("#message_close").click( function() {
			setTimeout('this.close()', 1);
		});
		$("#message").hover( function() {
			clearTimeout(timer1);
			timer1 = null;
		}, function() {
			if (time > 0)
				timer1 = setTimeout('this.close()', time);
			});

		$(window).scroll(
				function() {
					var bottomHeight =  "-"+document.documentElement.scrollTop;
					$("#message").css("bottom", bottomHeight + "px");
				});

	};

	this.show = function(title, text, time) {
		if ($("#message").is("div")) {
			return;
		}
		if (title == 0 || !title)
			title = this.title;
		this.inits(title, text);
		if (time >= 0)
			this.time = time;
		switch (this.anims.type) {
		case 'slide':
			$("#message").slideDown(this.anims.speed);
			break;
		case 'fade':
			$("#message").fadeIn(this.anims.speed);
			break;
		case 'show':
			$("#message").show(this.anims.speed);
			break;
		default:
			$("#message").slideDown(this.anims.speed);
			break;
		}
		var bottomHeight =  "-"+document.documentElement.scrollTop;
		$("#message").css("bottom", bottomHeight + "px");
		
		if ($.browser.is == 'chrome') {
			setTimeout( function() {
				$("#message").remove();
				this.inits(title, text);
				$("#message").css("display", "block");
			}, this.anims.speed - (this.anims.speed / 5));
		}
		this.rmmessage(this.time);
	};

	this.lays = function(width, height) {

		if ($("#message").is("div")) {
			return;
		}
		if (width != 0 && width)
			this.layer.width = width;
		if (height != 0 && height)
			this.layer.height = height;
	}

	this.anim = function(type, speed) {
		if ($("#message").is("div")) {
			return;
		}
		if (type != 0 && type)
			this.anims.type = type;
		if (speed != 0 && speed) {
			switch (speed) {
			case 'slow':
				;
				break;
			case 'fast':
				this.anims.speed = 200;
				break;
			case 'normal':
				this.anims.speed = 400;
				break;
			default:
				this.anims.speed = speed;
			}
		}
	}

	this.rmmessage = function(time) {
		if (time > 0) {
			timer1 = setTimeout('this.close()', time);
		}
	};
	this.close = function() {
		switch (this.anims.type) {
		case 'slide':
			$("#message").slideUp(this.anims.speed);
			break;
		case 'fade':
			$("#message").fadeOut(this.anims.speed);
			break;
		case 'show':
			$("#message").hide(this.anims.speed);
			break;
		default:
			$("#message").slideUp(this.anims.speed);
			break;
		}
		;
		setTimeout('$("#message").remove();', this.anims.speed);
		this.original();
	}

	this.original = function() {
		this.layer = {
			'width' :200,
			'height' :100
		};
		this.title = '信息提示';
		this.time = 4000;
		this.anims = {
			'type' :'slide',
			'speed' :600
		};
	};
	jQuery.messager = this;
	return jQuery;
})(jQuery);

 

2:使用

$.messager.anim('fade', 2000);
$.messager.show('标题',内容);

 方法详解

1.$.messager.lays(width, height);
该方法主要用来定义弹出窗口的宽度和高度。
2.$.messager.anim(type,speed);
该方法主要定义窗口以什么样的方式和速度呈现。
$.messager.anim("fade",1000); //以fadeIn的动画方式显示
$.messager.anim("show",1000); //以show的动画方式显示
3.$.messager.show(title,text,time);
该方法主要定义窗口显示的内容,以及窗口显示多长时间后进行隐藏。
如果使用默认的标题,则将title设置为0,另外title和text还可以设置为html内容进行显示。如果希望用户点击弹窗的关闭按钮才关闭消息框,可将time设置为0。
$.messager.show(0, "这是一个提示框",5000);
$.messager.show("<font color='red'>提示信息</font>","<a href='http://www.cnblogs.com'>博客园欢迎你</a>",3000);

 参考:http://www.jb51.net/article/25951.htm

 事例演示:http://demo.jb51.net/js/jquery.messager/index.html

 

事例中的使用方式

$(document).ready(function(){
	$.messager.show(0,'送你一个Jquery Messager消息弹出插件!');
	$("#showMessager300x200").click(function(){
		$.messager.lays(300, 200);
		$.messager.show(0, '300x200的消息');
	});
	$("#showMessagerFadeIn").click(function(){
		$.messager.anim('fade', 2000);
		$.messager.show(0, 'fadeIn动画消息');
	});
	$("#showMessagerShow").click(function(){
		$.messager.anim('show', 1000);
		$.messager.show(0, 'show动画消息');
	});
	$("#showMessagerDim").click(function(){
		$.messager.show('<font color=red>自定义标题</font>', '<font color=green style="font-size:14px;font-weight:bold;">自定义内容</font>');
	});
	$("#showMessagerSec").click(function(){
		$.messager.show(0, '一秒钟关闭消息', 1000);
	});
	$("#showMessagerNoClose").click(function(){
		$.messager.show('不会关闭的消息', '要自己点关闭的X才可以哦!', 0);
	});
});

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics