日期:2014-05-16  浏览次数:20383 次

jQuery学习过程中遇到的问题
JScript code

<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坐标?这样设置是固定格式吗?

诚心求教问题,先谢谢大家..

------解决方案--------------------
楼主参考下

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
http://www.w3school.com.cn/htmldom/dom_obj_event.asp


看明白了,你的问题也明白了
------解决方案--------------------
e是事件对象,
e.pageY,这里是鼠标移动所以这里是鼠标的y坐标
使用e.pageY+"px"来设置y坐标,应该是让tooltip当鼠标在tooltip中移动时,tooktip的提示跟随鼠标移动,

------解决方案--------------------
探讨
JScript code

<script type="text/javascript">
//<![CDATA[
$(function(){
var x = 10;
var y = 20;
$("a.tooltip").mouseover(function(e){
this.myTitle = this.title;
this.title……

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