<script type="text/javascript">
//<![CDATA[
$(function(){
var x = 10;
var y = 20;
$("a.tooltip").mouseover(function(e){
this.myTitle = this.title;
this.title = "";
var tooltip = "<div id='tooltip'><img src='"+ this.href +"' alt='产品预览图'/><\/div>"; //创建 div 元素
$("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();  //移除 
    }).mousemove(function(e){
$("#tooltip")
.css({
"top": (e.pageY+y) + "px",
"left":  (e.pageX+x)  + "px"
});
});
})
//]]>
</script>
最近买了一本书在学习jQuery,在书上的一个案例中,看到这样一段代码,里面有点地方不明白,希望达人帮忙指点指点:
    问题一:...  $("a.tooltip").mouseover(function(e){  ...
            这段代码中的 function(e) 为什么在括号里加了一个e,这个e是什么意思?
    问题二:... "top": (e.pageY+y) + "px",
                "left":  (e.pageX+x)  + "px"  ...
            这段代码中为什么使用e.pageY+"px"来设置y坐标?这样设置是固定格式吗?诚心求教问题,先谢谢大家..

解决方案 »

  1.   

    楼主参考下Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
    http://www.w3school.com.cn/htmldom/dom_obj_event.asp
    看明白了,你的问题也明白了
      

  2.   

    e是事件对象,
    e.pageY,这里是鼠标移动所以这里是鼠标的y坐标
    使用e.pageY+"px"来设置y坐标,应该是让tooltip当鼠标在tooltip中移动时,tooktip的提示跟随鼠标移动,
      

  3.   

    第二个问题。。加px是为了更好的兼容ff
      

  4.   

    在FF下 涉及尺寸大小的都得加“px”,譬如 width:100px  
      

  5.   

    先学习html + css +javascript