为了做漂亮的气球信息提示框以替换HTML标签中的title属性,BeautyTips (基于jquery的一个插件)完成了这一想法
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html
这是demo,蛮漂亮的,在开发过程中有两个重要设置不要忽略了:
jQuery.bt.options.ajaxLoading = '<img src="/images/throbber.gif" width="40" height="40" />';//如果做ajax气球框,那么在interactive这段时间显示一个加载图片以给用户友好提示正在交互信息
jQuery.bt.options.closeWhenOthersOpen = true;//顾名思义,当打开一个气球的时候其他气球都关闭,这个如果不设置的话页面上会弹出很多气球框,让人很烦。。
http://plugins.jquery.com/project/bt,这是jquery BT的介绍,有一点要说明一下,这个效果是基于HTML5标准的(使用到canvas 元素),由于IE浏览器不支持此标签,所以要额外添加一个js库excanvas.js
另外在demo页面会看到如下一段话:
BeautyTips has been tested with jQuery 1.2.6 and 1.3 on Firefox 3.x, Safari 3.x (also works on iPhone!), IE 6.x+, and Opera 8+, but I'm sure other canvas-capable browsers will work as well.
测试时jquery的版本是1.2.6和1.3.x的,不过本人测试jquery1.4.2也是可以用的
下边是个小例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery tooltips</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<!-- <script type="text/javascript" src="js/jquery.hoverIntent.minified.js"></script>
<script type="text/javascript" src="js/jquery.bgiframe.min.js"></script> -->
<script type="text/javascript" src="js/excanvas.min.js"></script>
<!-- <script type="text/javascript" src="js/jquery.easing.1.3.js"></script>-->
<script type="text/javascript" src="js/jquery.bt.min.js"></script>
<script type="text/javascript" src="js/json.js"></script>
<script type="text/javascript">
$(document).ready( function() {
jQuery.bt.options.closeWhenOthersOpen = true;
$('#context a').bt({
contentSelector: "$(this).attr('href')",//动态取得某些元素的内容
trigger: 'mouseover',
positions: ['right'] ,
hoverIntentOpts : {interval :0,timeout :0}
});
$('#example1 a').bt('发到qqq',{
showTip : function(box){
$(box).fadeIn(500);
},
hideTip : function(box, callback) {
$(box).animate({
opacity :0
}, 500, callback);
},
shrinkToFit :true,
hoverIntentOpts : {
interval :100,
timeout :100
}
});
});
/*
//为了在项目中简化调用及统一修改可以写成一个公用方法
function tips(args){
jQuery.bt.options.ajaxLoading = '<img src="/images/throbber.gif" width="40" height="40" />';
jQuery.bt.options.closeWhenOthersOpen = true;
$('#'+args.id).bt({
contentSelector: args.title,//动态取得某些元素的内容
trigger: 'mouseover',
positions: ['right'] ,
hoverIntentOpts : {interval :0,timeout :0}
});
}
*/
function car(brand,color){
this.brand=brand;
this.color=color;
}
alert(JSON.stringify(new car("BMW","white")));
</script>
</head>
<body>
<pre>
-----
-
--
-
-----
-
--
-
-----
-
--
-
-----
-
--
-
-----
-
--
-
</pre>
<div id="context">
主页
<a href="http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html">
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html </a>
<br>
<a href="http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html">
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html </a>
<br>
<a href="http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html">
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html </a>
http://speckyboy.com/2009/09/16/25-useful-jquery-tooltip-plugins-and-tutorials/
</div>
<br>
<br>
<div id="example1" >
<a href="javascript:">
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html </a>
<br>
<a href="http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html">
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html </a>
<br>
<a href="http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html">
http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html </a>
</div>
<a href="javascript:window.close();">关闭</a>
</body>
</html>