<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-6-2</title>
<!-- 引入 jQuery -->
<script src="../../scripts/jquery.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-1.8.2.js"></script>
<style type="text/css">
body {
margin: 0;
padding: 40px;
background: #fff;
font: 80% Arial, Helvetica, sans-serif;
color: #555;
line-height: 180%;
} p {
clear: both;
margin: 0;
padding: .5em 0;
}
/* tooltip */
#tooltip {
position: absolute;
border: 1px solid #333;
background: #f7f5d1;
padding: 1px;
color: #333;
display: none;
}
</style>
<script type="text/javascript">
$(function () {
var x = 20;
var y = 10;
$("a.tooltip").mouseover(function (e) {
var tooltip = "<div id='tooltip'>" + this.title + "<\/div>"; //创建 div 元素
this.myTitle = this.title;
this.title = "";
$("body").append(tooltip); //把它追加到文档中
$("#tooltip")
.css({
"top": (e.pageY+y) + "px",
"left": (e.pageX+x) + "px"
}).show("fast"); //设置x坐标和y坐标,并且显示
}).mouseout(function () {
this.title = this.myTitle;
$("#tooltip").remove(); //移除
});
});
</script>
</head>
<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>
</html>粗体部分用this.myTitle获取当前超链接的title内容,鼠标移动上去会自动显示title内容,移开后消失。
我用var hehe=this.title替换了this.myTitle this.title=hehe。结果鼠标移动上去会显示内容,但是移开后不消失。this。myTitle不就是存了一个值吗 为什么不能用普通变量代替,我知道用hehe会导致两个title的内容变成相同的,但是为什么会导致下一句的remove没效果?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-6-2</title>
<!-- 引入 jQuery -->
<script src="../../scripts/jquery.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-1.8.2.js"></script>
<style type="text/css">
body {
margin: 0;
padding: 40px;
background: #fff;
font: 80% Arial, Helvetica, sans-serif;
color: #555;
line-height: 180%;
} p {
clear: both;
margin: 0;
padding: .5em 0;
}
/* tooltip */
#tooltip {
position: absolute;
border: 1px solid #333;
background: #f7f5d1;
padding: 1px;
color: #333;
display: none;
}
</style>
<script type="text/javascript">
$(function () {
var x = 20;
var y = 10;
$("a.tooltip").mouseover(function (e) {
var tooltip = "<div id='tooltip'>" + this.title + "<\/div>"; //创建 div 元素
this.myTitle = this.title;
this.title = "";
$("body").append(tooltip); //把它追加到文档中
$("#tooltip")
.css({
"top": (e.pageY+y) + "px",
"left": (e.pageX+x) + "px"
}).show("fast"); //设置x坐标和y坐标,并且显示
}).mouseout(function () {
this.title = this.myTitle;
$("#tooltip").remove(); //移除
});
});
</script>
</head>
<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>
</html>粗体部分用this.myTitle获取当前超链接的title内容,鼠标移动上去会自动显示title内容,移开后消失。
我用var hehe=this.title替换了this.myTitle this.title=hehe。结果鼠标移动上去会显示内容,但是移开后不消失。this。myTitle不就是存了一个值吗 为什么不能用普通变量代替,我知道用hehe会导致两个title的内容变成相同的,但是为什么会导致下一句的remove没效果?
var x = 20;
var y = 10;
var hehe;
$("a.tooltip").mouseover(function (e) {
var tooltip = "<div id='tooltip'>" + this.title + "<\/div>"; //创建 div 元素
hehe = this.title;
this.title = "";
$("body").append(tooltip); //把它追加到文档中
$("#tooltip")
.css({
"top": (e.pageY+y) + "px",
"left": (e.pageX+x) + "px"
}).show("fast"); //设置x坐标和y坐标,并且显示
}).mouseout(function () {
this.title = hehe;
$("#tooltip").remove(); //移除
});
});
作用域问题吧