导航:首页 > 编程语言 > js获取绝对坐标

js获取绝对坐标

发布时间:2022-09-23 15:53:05

js中怎么获取input所在页面的绝对坐标

input有个name名字调用他,

Ⅱ 请教javascript中取得对象绝对位置的问题

我写过这样的练习,我把我之前写的给你发过来,你自己研究研究。

首先:js代码

functionNUM(b){}
functionoMove(event,obj){
varleft1=document.body.clientLeft;
varleft2=obj.offsetLeft;
varleft3=obj.clientLeft;
varsX=left1+left2+left3;
//----获得元素左端到浏览器左端的距离
vartop1=document.body.clientTop;
vartop2=obj.offsetTop;
vartop3=obj.clientTop;
varsY=top1+top2+top3;
//----获得元素顶端到浏览器顶端的距离
vare=event||window.event||arguments.callee.caller.arguments[0];
varX=e.clientX;
//----获得鼠标到浏览器左端的距离
varY=e.clientY;
//----获得鼠标到浏览器顶端的距离
X=X-sX;
Y=Y-sY;
//----计算鼠标在元素中的坐标
varoW=obj.clientWidth;
varoH=obj.clientHeight;
X=(X/oW/2-0.250).toFixed(2);
Y=(Y/oH/2-0.250).toFixed(2);
varaVal='transform:rotate3d('+X+','+Y+',0,45deg)';
//----计算鼠标在元素中的百分比坐标
obj.setAttribute('style',aVal);
}
window.onload=function(){
vara=document.getElementsByClassName('imgAll')[0];
varb=a.getElementsByTagName('img');
for(vari=0;i<b.length;i++){
b[i].setAttribute('onmousemove','oMove(event,this)');
}
}

html代码:

<html>	
<head>
<metacharset='utf-8'>
<scripttype='text/javascript'src='indexJs.js'></script>
<linkrel='stylesheet'href='indexCss.css'type='text/css'/>
</head>
<body>
<divclass='imgAll'>
<imgsrc='img/img-1.png'>
<imgsrc='img/img-2.png'>
</div>
<divid='tText'></div>
</body>
</html>

css代码:

body{
margin:0;
padding:0;
}
#tText{
text-align:center;
}
.imgAll{
text-align:center;
padding-top:200px;
}
.imgAll>img{
height:200px;
margin:10px;
box-shadow:2px2px2px2pxrgba(0,0,0,0.7);
}

还有两张图片

Ⅲ 请问用javascript 怎样获得 div中的img的坐标

呵呵,,不知道你会不会JQUERY,给你一个JQ的代码吧:
获取IMG绝对X,Y坐标,可以用回offset()方法:

var X = $('#img1').offset().top;
var Y = $('#img1').offset().left;

获取相对(父元素答)位置:

var X = $('#img1').position().top;
var Y = $('#img1').position().left;

Ⅳ js如何获取图片的绝对路径

理论是可以的,首先用js取得location,然后在和图片路径相加 哦 想复杂了 其实很简单,你在image元素里面加个onclick事件,这样写 <table><tr> <td><input type="image" id="expression1" name="expression1" src="1.gif" onClick="soso(this)></td> <td><input type="image" id="expression2" name="expression2" src="2.gif" onClick="soso(this)></td> <td><input type="image" id="expression3" name="expression3" src="3.gif" onClick="soso(this)></td> <td><input type="image" id="expression4" name="expression4" src="4.gif" onClick="soso(this)></td> <td><input type="image" id="expression5" name="expression5" src="5.gif" onClick="soso(this)></td> </tr></table> <div id="abc"> </div> <script language="javascript"> function soso(tt){ document.all("abc").innerHTML="<img Src='"+tt.src+"'>" } </script> _______________________

Ⅳ javascript怎么获取元素的坐标

看了一下,你这种情况用根据鼠标位置来定位的div层来做好像不合适,你想想如果鼠标版在文本框上时你不是也要将层放权到文本框上吧,你可以看看别人的网站 上的,都是单独做的,这样体验才会好你想偷懒的话可以这样,用表格布局,后面多加一列,专门放显示信息的,然后根据事件的源对象,将信息显示到指定的单元格中另,function getpostion(e)//为了同时支持IE和FireFox,e必须为event对象要想将div位置固定的话需要将其posistion属性设为absolute;ps:晕死,竟然让我打三遍

Ⅵ 如何实现得到屏幕的绝对坐标

通过调api函数来获得系统的鼠标位置,也可以直接调用.net类库中的Cursor类来得到坐标,然后在程序用通过一个线程去实时显示当前鼠标的位置显示到文本框中
下面给出用C#实现的源码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Drawing;

namespace ShowCursor
{
public class frmShowPoint1:Form
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows 窗体设计器生成的代码

/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.txtShowPoint = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Interval = 50;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// txtShowPoint
//
this.txtShowPoint.Location = new System.Drawing.Point(0, 1);
this.txtShowPoint.Name = "txtShowPoint";
this.txtShowPoint.Size = new System.Drawing.Size(234, 21);
this.txtShowPoint.TabIndex = 1;
//
// frmShowPoint1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(234, 22);
this.Controls.Add(this.txtShowPoint);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "frmShowPoint1";
this.Text = "Form2";
this.Load += new System.EventHandler(this.frmShowPoint_Load);
this.ResumeLayout(false);
this.PerformLayout();

}

#endregion

private TextBox txtShowPoint;
private System.Windows.Forms.Timer timer1;

public frmShowPoint1()
{
InitializeComponent();
}

public class GetCurPos
{
[DllImport("user32.dll")]
public static extern short GetCursorPos(ref System.Drawing.Point point);
}

private void timer1_Tick(object sender, EventArgs e)
{
System.Drawing.Point point = new System.Drawing.Point();
GetCurPos.GetCursorPos(ref point);
txtShowPoint.Text = "X坐标:" + point.X + " Y坐标:" + point.Y;
//这是另一种不需要调用Api通过直接调用.net类库来得到鼠标坐标
//Point point = Cursor.Position;
//txtShowPoint.Text = "X坐标:" + point.X + " Y坐标:" + point.Y;
}

private void frmShowPoint_Load(object sender, EventArgs e)
{
this.Top = 0;
}

[STAThread]
static void Main(string[] args)
{
Application.Run(new frmShowPoint1());
}
}
}

Ⅶ js怎么获得鼠标当前坐标

吸使用以下几种方式获取:
1.PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
2.clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化.
可是悲剧的是,PageX只有FF特有,IE这个悲剧没有啊T_T,所以大牛们想出了一个办法
PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)
3.screenX/screenY:鼠标在屏幕上的位置,从屏幕左上角开始(w3c标准)
4.offsetX/offsetY:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值
5.
layerX/layerY:FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点

chrome和safari一条龙通杀!完全支持所有属性.其中(offsetX和layerX都是以border为参考点)

下面这个是获取相对于屏幕的坐标
document.onmousemove=function(e){e=e? e:window.event;document.writeln("X:"+e.screenX+"Y:"+e.screenY);}

Ⅷ 用js 获取一个div坐标的方法是什么

js获取DIV的位置坐标的方法大概有两种:

第一种:编辑代码:var odiv=document.getElementById('divid');

alert(odiv.getBoundingClientRect().left);

alert(odiv.getBoundingClientRect().top);

第二种:编辑代码function CPos(x, y){this.x = x;this.y = y;}/*** 得到对象的相对浏览器的坐标*/function GetObjPos(ATarget{var target = ATarget;var pos = new CPos(target.offsetLeft, target.offsetTop);var target =target.offsetParentwhile (target pos.x += target.offsetLeft pos.y += target.offsetTop;target = target.offsetParent}return pos;}var obj = document.getElementById('divid')alert(GetObjPos(obj)['x'])//x坐标alert(GetObjPos(obj)['y'])//y坐标

Ⅸ 如何用JS 获取DIV的坐标位置

js获取DIV的位置坐标的方法有三种,分别如下:

方法一:

?
var odiv=document.getElementByIdx_x('divid');
alert(odiv.getBoundingClientRect().left);
alert(odiv.getBoundingClientRect().top);
方法二:

?
function CPos(x, y)
{
this.x = x;
this.y = y;
}

function GetObjPos(ATarget)
{
var target = ATarget;
var pos = new CPos(target.offsetLeft, target.offsetTop);

var target = target.offsetParent;
while (target)
{
pos.x += target.offsetLeft;
pos.y += target.offsetTop;

target = target.offsetParent
}
return pos;
}

var obj = document.getElementByIdx_x('divid')
alert(GetObjPos(obj)['x']) //x坐标
alert(GetObjPos(obj)['y']) //y坐标

方法三:

?

function getElementPos(elementId){
var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera') != -1);
var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
var el = document.getElementByIdx_x(elementId);
if (el.parentNode === null || el.style.display == 'none') {
return false;
}
var parent = null;
var pos = [];
var box;
if (el.getBoundingClientRect) //IE
{
box = el.getBoundingClientRect();
var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
return {
x: box.left + scrollLeft,
y: box.top + scrollTop
};
}
else
if (document.getBoxObjectFor) // gecko
{
box = document.getBoxObjectFor(el);
var borderLeft = (el.style.borderLeftWidth) ? parseInt(el.style.borderLeftWidth) : 0;
var borderTop = (el.style.borderTopWidth) ? parseInt(el.style.borderTopWidth) : 0;
pos = [box.x - borderLeft, box.y - borderTop];
}
else // safari & opera
{
pos = [el.offsetLeft, el.offsetTop];
parent = el.offsetParent;
if (parent != el) {
while (parent) {
pos[0] += parent.offsetLeft;
pos[1] += parent.offsetTop;
parent = parent.offsetParent;
}
}
if (ua.indexOf('opera') != -1 || (ua.indexOf('safari') != -1 && el.style.position == 'absolute'))

{
pos[0] -= document.body.offsetLeft;
pos[1] -= document.body.offsetTop;
}
}
if (el.parentNode) {
parent = el.parentNode;
}
else {
parent = null;
}
while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') { // account for any scrolled

ancestors
pos[0] -= parent.scrollLeft;
pos[1] -= parent.scrollTop;
if (parent.parentNode) {
parent = parent.parentNode;
}
else {
parent = null;
}
}
return {
x: pos[0],
y: pos[1]
};
}

var xd = getElementPos("divid");
alert(xd.x);
alert(xd.y);

Ⅹ JS如何判断元素相对于父窗口的绝对位置

obj.clientWidth //获取元素的宽度

obj.clientHeight //元素的高度
obj.offsetLeft //元素相对于父元素的left
obj.offsetTop //元素相对于父元素的top
obj.offsetWidth //元素的宽度
obj.offsetHeight //元素的高度

区别:

clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = width + padding + border
offset比client多了border的宽度

//获取元素的纵坐标(相对于窗口)
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标(相对于窗口)
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}

//获取元素的纵坐标(相对于窗口)
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标(相对于窗口)
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}

阅读全文

与js获取绝对坐标相关的资料

热点内容
港澳台版本有什么区别 浏览:263
java四个月能学到什么 浏览:46
开发板和linux文件 浏览:202
appstore外国帐号怎么看预约游戏 浏览:137
有什么免费加速网站的cdn 浏览:781
哪个文件存在最安全 浏览:199
淘宝导航栏分割线代码 浏览:271
win10开不了机按f8没用 浏览:12
河南营销网站推广多少钱 浏览:135
华为畅享6手机文件管理 浏览:939
linux驱动环境 浏览:893
ae用什么打开文件 浏览:877
湖南岳阳大数据中心 浏览:710
DSP大数据公司 浏览:510
win10检测不到u盘启动 浏览:941
电脑文件怎么重命名文件 浏览:507
哪个协议用来传输文件协议 浏览:61
ce改股票教程 浏览:513
如何做一个数据统计数据库 浏览:181
手机内存书旗小说是哪个文件夹 浏览:879

友情链接