<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没效果?

解决方案 »

  1.   

    你代码到底改成什么样了。。我用var hehe=this.title替换了this.myTitle    this.title=hehe。这里到底是替换哪里的,问题都没说清楚。。
      

  2.   

    $(function () {
                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();   //移除                           
                });
            });
    作用域问题吧