jquery如何设置控件位置
2012-04-25 13:30
417 查看
跟着《锋利的jQuery》的示例练习操作DOM,结果发现
$("#tooltip").css({top":(e.pageY+20)+"px","left":(e.pageX+10)+"px"});不起作用。
查找原因才发现跟元素的定位类型有关,改为
$("#tooltip").css({"position": "absolute","top":(e.pageY+y)+"px","left":(e.pageX+x)+"px"});就OK了。
基于此,总结一下jquery是如何设置控件位置的:
position 属性规定元素的定位类型,这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。
属性说明:
1 absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
2 fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
3 relative 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
4 static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
5 inherit 规定应该从父元素继承 position 属性的值。(ie中未支持此属性)
所有空间position的默认值为static,所以需要将其设置为其他属性方可进行定位。
若有多个层 切需要设定层的层次关系 那么需要设置z-index属性。
z-index 属性设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
注释:1)元素可拥有负的 z-index 属性值。
2)z-index 仅能在定位元素上奏效(例如 position:absolute;)!
说明:该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远。
$("#tooltip").css({top":(e.pageY+20)+"px","left":(e.pageX+10)+"px"});不起作用。
查找原因才发现跟元素的定位类型有关,改为
$("#tooltip").css({"position": "absolute","top":(e.pageY+y)+"px","left":(e.pageX+x)+"px"});就OK了。
基于此,总结一下jquery是如何设置控件位置的:
position 属性规定元素的定位类型,这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。
属性说明:
1 absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
2 fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
3 relative 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
4 static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
5 inherit 规定应该从父元素继承 position 属性的值。(ie中未支持此属性)
所有空间position的默认值为static,所以需要将其设置为其他属性方可进行定位。
若有多个层 切需要设定层的层次关系 那么需要设置z-index属性。
z-index 属性设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
注释:1)元素可拥有负的 z-index 属性值。
2)z-index 仅能在定位元素上奏效(例如 position:absolute;)!
说明:该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远。
//offset()获取当前元素基于浏览的位置 var offsettop=$("#unamespan").offset().top; var offsetleft=$("#unamespan").offset().left; //position()获取当前元素基于父容器的位置 var positiontop=$("#unamespan").position().top; var positionleft=$("#unamespan").position().left; //设置panel的位置基于unamespan的坐标 $("#panel").css({position: "absolute",'top':offsettop+100,'left':offsetleft+50,'z-index':2});
相关文章推荐
- jquery如何设置控件位置
- jquery如何设置控件位置
- jquery如何设置控件位置
- jquery如何设置控件位置
- jquery如何设置控件位置
- Android布局理解之一:FrameLayout 内的控件如何设置位置
- jquery设置控件位置的方法
- 如何设置和获得控件相对于Canvas的位置
- jquery设置控件位置的方法
- jquery设置控件位置的方法
- jquery设置控件位置的方法
- Flex中如何遍历TabBar控件的各个Tab,并且通过labelPlacement属性设置标签位置
- 如何设置和获得控件相对于Canvas的位置
- javascript与jQuery设置取得div绝对位置一个小应用(像日历控件一样,在编辑框下面显示一个层)
- Word控件Spire.Doc 教程:如何在C#中设置word 脚注的位置和数字格式
- mfc基于对话框的应用程序,如何设置初始对话框大小,移动控件位置
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- javascript与jQuery设置取得div绝对位置一个小应用(像日历控件一样,在编辑框下面显示一个层)
- Word控件Spire.Doc 教程:如何在C#中设置word 脚注的位置和数字格式
- jQuery设置聚焦并使光标位置在文字最后的实现方法