javascript中的页面元素定位

一.      学习目标

了解关于页面对象定位的相关属性,能熟练的把任一对象定位到网页的任意位置。需掌握的属性列表为:

n       offsetXoffsetY

n       clientXclientY

n       screenXscreenY

n       xy

n       scrollLeftscrollTop

n       lefttop

二.      详细说明

clientXclientY是鼠标当前相对于网页的位置,当鼠标位于页面左上角时clientX=0, clientY=0

offsetXoffsetY是鼠标当前相对于网页中的某一区域的位置,当鼠标位于页面中这一区域的左上角时offsetX=0, offsetY=0

screenXscreenY是鼠标相对于用户整个屏幕的位置;

xy是鼠标当前相对于当前浏览器的位置

 

scrollLeft设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离(因为有滚动条的产生,所以目前页面可见内容是不定的)。

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。

left:对象相对于页面的X坐标。

top:对象相对于页面的Y坐标。

 

 

附一原创的右键菜单:

window.js

/**

* 创建右键菜单

  在页面对象上加入 onconetextmenu=openEventWindow('','','','');return false;

  addUrl     添加动作的url地址

  modUrl     修改动作的url地址

  delUrl     删除动作的url地址

  detailUrl  详细动作的url地址

  注意:请保持四个参数的完整性,如果需要禁用删除动作,请设置delUrl=''

*/

var menuFlag = false;

function openEventWindow(addUrl,modUrl,delUrl,detailUrl){

    var addTr;

    var modTr;

    var delTr ;

    var detailTr ;

 

    if(addUrl==''){

       addTr = "<tr disabled class=/"2k3MenuItem/">"

    }else{

       addTr = "<tr  class=/"2k3MenuItem/" οnclick=/"link('"+addUrl+"')/">"

    }

 

 

    if(modUrl==''){

       modTr = "<tr disabled class=/"2k3MenuItem/">"

    }else{

       modTr = "<tr  class=/"2k3MenuItem/" οnclick=/"link('"+modUrl+"')/">"

    }

 

 

    if(delUrl==''){

       delTr = "<tr disabled class=/"2k3MenuItem/">"

    }else{

       delTr = "<tr  class=/"2k3MenuItem/" οnclick=/"link('"+delUrl+"')/">"

    }

 

 

    if(detailUrl==''){

       detailTr = "<tr disabled class=/"2k3MenuItem/">"

    }else{

       detailTr = "<tr class=/"2k3MenuItem/" οnclick=/"link('"+detailUrl+"')/">"

    }

 

    var divFrame = window.document.createElement("DIV");

    divFrame.id = "div"+randomChar(10);

    divFrame.style.display="block";

    divFrame.innerHTML="<table class=/"2k3Menu/" width=/"100px/" style=/"visibility:visible;/" id=/"M01/" backgroundIframe=/"IM0/" cellspacing=0 cellpadding=0>"

                     +"<thead>"

                     +"<tr>"

                     +"<td colspan=5>"

                     +"<div class=/"2k3MenuRootConnector/"></div>"

                     +"</td>"

                     +"</tr>"

                     +"</thead>"

                     +"<tbody>"

                     +addTr

                     +"<td class=/"2k3MenuVerticalSpacerLeft/"></td>"

                     +"<td class=/"2k3MenuImage/"><img src=/"images/transparent.gif/" height=16 width=16></td>"

                     +"<td class=/"2k3MenuCaption/">添加</td>"

                     +"<td class=/"2k3MenuNoMore/">&nbsp;</td>"

                     +"<td class=/"2k3MenuVerticalSpacerRight/"></td>"

                     +"</tr>"

                     +modTr

                     +"<td class=/"2k3MenuVerticalSpacerLeft/"></td>"

                     +"<td class=/"2k3MenuImage/"><img src=/"images/transparent.gif/" height=16 width=16></td>"

                     +"<td class=/"2k3MenuCaption/">修改</td>"

                     +"<td class=/"2k3MenuNoMore/">&nbsp;</td>"

                     +"<td class=/"2k3MenuVerticalSpacerRight/"></td>"

                     +"</tr>"

                     +delTr

                     +"<td class=/"2k3MenuVerticalSpacerLeft/"></td>"

                     +"<td class=/"2k3MenuImage/"><img src=/"images/transparent.gif/" height=16 width=16></td>"

                     +"<td class=/"2k3MenuCaption/">删除</td>"

                     +"<td class=/"2k3MenuNoMore/">&nbsp;</td>"

                     +"<td class=/"2k3MenuVerticalSpacerRight/"></td>"

                     +"</tr>"

                     +detailTr

                     +"<td class=/"2k3MenuVerticalSpacerLeft/"></td>"

                     +"<td class=/"2k3MenuImage/"><img src=/"images/transparent.gif/" height=16 width=16></td>"

                     +"<td class=/"2k3MenuCaption/">详细</td>"

                     +"<td class=/"2k3MenuNoMore/">&nbsp;</td>"

                     +"<td class=/"2k3MenuVerticalSpacerRight/"></td>"

                     +"</tr>"

                     +"</tbody>"

                     +"<tfoot>"

                     +"<tr>"

                     +"<td colspan=/"5/"></td>"

                     +"</tr>"

                     +"</tfoot>"

                     +"</table>";

    document.body.appendChild(divFrame);

    divFrame.style.position="absolute";

    divFrame.style.left = event.clientX;

    divFrame.style.top = event.clientY;

    divFrame.attachEvent("onmousemove",function change(){menuFlag=true});

    divFrame.attachEvent("onmouseout", function change1() {menuFlag=false});

    document.attachEvent("onclick",function hideDiv(){

        if(!menuFlag){

          divFrame.style.display="none";

        }

    })

    return false;

}

 

 

表格的样式表文件为:

 

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值