热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【clientX,offsetX,screenX】【scrollWidth,clientWidth,offsetWidth】的区别

一、深刻认识clientX,offsetX,screenX概念(来源于网络):clientX设置或获取鼠标指针

一、深刻认识clientX,offsetX,screenX

概念(来源于网络):

clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 
clientY 设置或获取鼠标指针位置相对于当前窗口的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。 
offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。 
offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。 
screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。 
screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。 
x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标(亦即相对于当前窗口)。 
y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标(亦即相对于当前窗口)。

 

实验实例(来源于网络,修改过):

[c-sharp] view plaincopy
  1. "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2.   
  3. 'test()' style="margin:0 0 0 0" mce_style="margin:0 0 0 0">  
  4. 设置或获取鼠标指针位置相对于窗口客户区域的 x,y 坐标,其中客户区域不包括窗口自身的控件和滚动条。  
  5.  
      
  6. clientX="text" NAME="x1">  
  7. clientY="text" NAME="x2">  

  8.   

  9.   
  10.   
  11. 设置或获取鼠标指针位置相对于触发事件的对象的 x,y 坐标。   

  12.   
  13. offsetX ="text" NAME="x3">  
  14. offsetY ="text" NAME="x4">  

  15.   

  16.   
  17. 设置或获取获取鼠标指针位置相对于用户屏幕的 x,y 坐标   

  18.   
  19. screenX ="text" NAME="x5">  
  20. screenY ="text" NAME="x6">  

  21.   

  22.   
  23. 设置或获取鼠标指针位置相对于父文档的 x,y 像素坐标。  

  24.   
  25. x="text" NAME="x7">  
  26. y="text" NAME="x8">   

  27.   

  28.   
  29. "center" width=400 height=500 border=1 style="border-style:none" mce_style="border-style:none" CELLPADDING=0 CELLSPACING=0 οnclick='test()'>  
  30.   
  31. a  
  32. b  
  33.   
  34.   
  35. c  
  36. d  
  37.   
  38.   
  39.   
  40.   
  41. "Javascript">  
  42.   
  43. 《SCRIPT》  

 

实验结果分析:

    1.   clientX 和x值在实验过程中,没有发现值不一样的例子,所以我认为它们在效果上是一样的!
    2.   offsetX 是相对于当前窗口内,本触发事件对象(或者是某一区域)而言,如本例中你单击a区域,值是相对于a所在区域而言,同理b,c,d都一样!
    3.   clientX ,x,offsetX共同点:它们是相对位置,相对于当前窗口,只是offsetX相对于当前窗口的某个触发对象的父容器而言!
    4.   screenX是相对与客户端显示器而言,是绝对位置!

 

【转载】http://blog.csdn.net/weinideai/article/details/3885444

 

 

二、scrollWidth,clientWidth与offsetWidth的区别

 

 


(注意:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

scrollWidth 
对象的实际内容的宽,不包括边线宽度,会随对象中内容的多少改变(内容多了可能会改变对象的实际度)


clientWidth 
对象可见的宽度,不包括滚动条等边线,会随窗口的显示大小改变。


offsetWidth 
对象的可见宽度,包括滚动条等边线,会随窗口的显示大小改变。 


一个scrollWidth和clientWidth的例子:

 
 
 
 
 
 
 

在文本框内输入内容,当横向滚动条没出来前scrollWidth和clientWidth的值是一样的。当一行内容超出文本框的宽度,就有横向滚动条出来了,scrollWidth的值就变了。 
scrollWidth是对象实际内容的宽度。 
clientWidth是对象看到的宽度(不含边线)。 


一个clientWidth和offsetWidth的例子:

 
 
 
 
 
 
 

offsetWidth的值总是比clientWidth的值大。 
clientWidth是对象看到的宽度(不含边线) 
offsetWidth是对象看到的宽度(含边线,如滚动条的占用的宽)

 

【转载】http://blog.csdn.net/weinideai/article/details/3880600

 

转:https://www.cnblogs.com/julin-peng/p/4088928.html



推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文探讨了高质量C/C++编程的最佳实践,并详细分析了常见的内存错误及其解决方案。通过深入理解内存管理和故障排除技巧,开发者可以编写更健壮的程序。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
author-avatar
wtc21232
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有