js获取鼠标再定位鼠标位置

//获取位置
 pt.getPos = function( obj , isNonStatic ) {
  var left = 0 , top = 0;
  while ( obj ) {
   left += obj.offsetLeft;
   top += obj.offsetTop;
   obj = obj.offsetParent;
   if ( isNonStatic && this.isNonStaticPos( obj ) ) {
    break;
   }
  }
  return { left: left , top: top };
 }

 //鼠标定位
 pt.fallowMouse = function( e , obj , dir ) {
  e = e || window.event;
  if ( !this.isNonStaticPos( obj ) || !e ) {//非静态定位left top定位是无效的,或者不是event对象
   return false;
  }
  dir = dir || { left: false , top: false };
  var ex = e.clientX;
  var ey = e.clientY;
  var bl = document.body.scrollLeft || document.documentElement.scrollLeft;
  var bt = document.body.scrollTop || document.documentElement.scrollTop;
  var bw = document.body.offsetWidth || document.documentElement.offsetWidth;
  //var bh = document.body.offsetHeight || document.documentElement.offsetHeight;
  var bh = document.documentElement.clientHeight;
  var ow = obj.offsetWidth;
  var oh = obj.offsetHeight;

  var ol = dir.left ? ( ex - ow < bl ? ex + bl : ex + bl - ow ) : ( ex + ow > bw ? ex + bl - ow : ex + bl );
  ol = Math.max( 0 , bl , ol );
  var ot = dir.top ? ( ey - oh < bt ? ey + bt : ey + bt - oh ) : ( ey + oh > bh ? ey + bt - oh : ey + bt );
  ot = Math.max( 0 , bt , ot );

  var pNode = this.nearestNonStaticPosPareNode( obj );
  if ( pNode ) {
   var pos = this.getPos( pNode );
   ol -= pos.left;
   ot -= pos.top;
  }
  obj.style.left = ol + 'px';
  obj.style.top = ot + 'px';
 }

 //屏幕中央定位
 pt.setCenter = function ( obj ) {
  var ocw = obj.offsetWidth;
  var och = obj.offsetHeight;
  var bsl = document.body.scrollLeft || document.documentElement.scrollLeft;
  var bst = document.body.scrollTop || document.documentElement.scrollTop;
  var bcw = document.documentElement.offsetWidth;
  var bch = document.documentElement.offsetHeight;
  var osl = bsl + Math.floor( ( bcw - ocw ) / 2 );
   osl = Math.max( bsl , osl );
  var ost = bst + Math.floor( ( bch - och ) / 2 );
   ost = Math.max( bst , ost );
  obj.style.left = osl + 'px';
  obj.style.top = ost + 'px';
 }

 pt.showAutoAdaptText = function ( node , text , pixelWidth , suffix ) {
  if ( node.nodeName ) {
   pixelWidth = pixelWidth || 14/95;
   var len1 = text.getLen();
   if ( typeof text == 'string' ) {
    var len2 = Math.floor( node.clientWidth * pixelWidth );
    var tstr = '';
    suffix = suffix || '...';
    var vstr = len1 > len2 ? text.subStringPro( len2 - suffix.length ) : text;
    if ( text != vstr ) {
     tstr = text;
     vstr += suffix;
    }
    node.title = tstr;
    node.value = vstr;
   }
  }
 }

 pt.getSubCodes = function( data , _code ) {
  if ( data.subCodesCache == undefined ) {
   data.subCodesCache = [];
   for ( var code in data ) {
    if ( /^[d]{2}(([d][1-9])|([1-9][d]))$/.test( code ) ) {
     var pareCode = code.substr( 0 , 2 ) + '00';
     if ( data.subCodesCache[pareCode] == undefined ) {
      data.subCodesCache[pareCode] = [];
     }
     data.subCodesCache[pareCode].push( code );
    }
   }
  }
  return data.subCodesCache[_code] || [];
 }

时间: 2024-09-20 20:32:08

js获取鼠标再定位鼠标位置的相关文章

js获取光标在输入框的位置实例

selection的createRange方法 document.selection.createRange() 根据当前文字选择返回 TextRange 对象,或根据控件选择返回 ControlRange 对象. 配合 execCommand,在 HTML 编辑器中很有用,比如:文字加粗.斜体.复制.粘贴.创建超链接等. 实例一:  代码如下 复制代码 <textarea cols=50 rows=15> 哈哈.我们都是新生来得.大家都来相互帮助呀.这样我们才能进步,我们才能赚大钱!<

js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1)

js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1) <script language="网页特效"> function document.onmouseo教程ver() {   document.all("txtbox").value=event.screenX+"x"+event.screenY; } private void Button1_Click(object sender,

JS获取鼠标坐标位置实例分析_javascript技巧

本文实例分析了JS获取鼠标坐标位置的方法.分享给大家供大家参考,具体如下: 取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置(screenX,screenY)在所有的浏览器中都支持,但是鼠标在页面的坐标位置(pageX,pageY)在IE8及更早版本不支持,但是没有关系,可以通过s

JS获取鼠标相对位置的方法_javascript技巧

本文实例讲述了JS获取鼠标相对位置的方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"/> <title>位置</title> <script language="javascript" type="text/javascript"&

JS获取鼠标坐标、获取鼠标像素点示例

 运行代码之后随意移动鼠标的位置,可适时显现鼠标的坐标点,不占用系统资源 JS获取鼠标坐标,获取鼠标像素点的典型实例,运行本页面后,随意移动鼠标的位置,可适时显现鼠标的坐标点,不占用系统资源 .    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <h

JS获取鼠标坐标的实例方法

这篇文章介绍了JS获取鼠标坐标的实例方法,有需要的朋友可以参考一下   复制代码 代码如下: var restrictX;  var restrictY;  var tip;  // 鼠标坐标   function mousePosition(ev) {  return {          x : ev.clientX + document.documentElement.scrollLeft - document.documentElement.clientLeft,          y

JS获取鼠标选中的文字_javascript技巧

js获取鼠标选中的文字代码如下所示: <html> <head> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>js获取鼠标选中的文字</title> <SCRIPT LANGUAGE="JavaScript"> <!-- functi

js获取鼠标选中的内容代码

结果是写出来了,之前写的时候不兼容火狐,后来看到帖子楼上的一个方法,测试了一下兼容性很好,就引用了: 具体方法我已经整理成文件,可以预览查看效果,也可以直接下载浏览源码:  代码如下 复制代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo

js中的如何定位固定层的位置_javascript技巧

需要获取一些HTML的对象的坐标来更灵活的设置目标层的坐标,这里可以通过用到document.body.scrollTop等属性,但是这些属性在xhtml的标准网页中或更简单的说就是带<!DOCTYPE...>的标签中得到的值是0:如果不要此标签则一切正常,那么在xhtml中如何获取body的坐标呢?当然有办法了,我们使用document.documentElement来取代document.body例如可以这样写: 复制代码 代码如下: var top=document.documentEl