87,984
社区成员
发帖
与我相关
我的任务
分享<script type="text/javascript">
$(document).ready(function () {
$("a.tooltip").mouseover(function (e) {
ev = event || window.event;
function mousePos(ev) {
if (ev.pageX || ev.pageY) {
return {
x: ev.pageX,
y: ev.pageY
};
} return {
x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y: ev.clientY + document.body.scrollTop - document.body.clientTop
};
};
this.myTitle = this.title;
this.title = "";
var tooltip = "<div id='tooltip'>" + this.myTitle + "</div>"; //创建DIV元素
$("body").append(tooltip); //追加到文档中
$("#tooltip").css({
"top":(mousePos(ev).y) + "px",
"left":(mousePos(ev).x) + "px"
}).show("fast");//设置横纵坐标,并且显示
}).mouseout(function () {
this.title = this.myTitle;
$("#tooltip").remove(); //移除
});
})
</script>
<script type="text/javascript">
//偏移量
var x = 10;
var y = 20;
$(document).ready(function () {
$("a.tooltip")
.mouseover(function (e) {
this.myTitle = this.title;
//将链接的title置为空。
this.title = "";
//设置tooltip。
var tooltip = "<div id='tooltip'>" + this.myTitle + "</div>";
$("body").append(tooltip);
//设置tooltip样式为红色。position设置为absolute。
$("#tooltip").css({
"color": "red",
"position": "absolute",
"top": (e.pageY + y) + "px",
"left": (e.pageX + x) + "px"
}).show("fast");
}).mouseout(function () {
//mouseout事件,恢复原样。
this.title = this.myTitle;
$("#tooltip").remove();
}).mousemove(function (e) {
//mousemove事件
$("#tooltip").css({
"color": "red",
"position": "absolute",
"top": (e.pageY + y) + "px",
"left": (e.pageX + x) + "px"
});
});
});
</script>
<body>
<p><a href="#" class="tooltip" title="这是我的提示1">我的提示1</a></p>
<p><a href="#" class="tooltip" title="这是我的提示2">我的提示2</a></p>
<p><a href="#" title="这是自带提示1">自带提示1</a></p>
<p><a href="#" title="这是自带提示2">自带提示2</a></p>
</body>
对比层主代码,引用了"position": "absolute",这个位置属性,果然成功出现了[/quote]
既然使用JQuery,那就不必考虑不同浏览器兼容性问题!
这题目我以前做过呢。 直接用e.pageY和e.pageX就好了。 代码如下,复制粘贴,把JQuery引用改下就好:<script type="text/javascript"> //偏移量 var x = 10; var y = 20; $(document).ready(function () { $("a.tooltip") .mouseover(function (e) { this.myTitle = this.title; //将链接的title置为空。 this.title = ""; //设置tooltip。 var tooltip = "<div id='tooltip'>" + this.myTitle + "</div>"; $("body").append(tooltip); //设置tooltip样式为红色。position设置为absolute。 $("#tooltip").css({ "color": "red", "position": "absolute", "top": (e.pageY + y) + "px", "left": (e.pageX + x) + "px" }).show("fast"); }).mouseout(function () { //mouseout事件,恢复原样。 this.title = this.myTitle; $("#tooltip").remove(); }).mousemove(function (e) { //mousemove事件 $("#tooltip").css({ "color": "red", "position": "absolute", "top": (e.pageY + y) + "px", "left": (e.pageX + x) + "px" }); }); }); </script><body> <p><a href="#" class="tooltip" title="这是我的提示1">我的提示1</a></p> <p><a href="#" class="tooltip" title="这是我的提示2">我的提示2</a></p> <p><a href="#" title="这是自带提示1">自带提示1</a></p> <p><a href="#" title="这是自带提示2">自带提示2</a></p> </body>
对比层主代码,引用了"position": "absolute",这个位置属性,果然成功出现了mousePos这个函数有必要么。。。直接pageX即可。。