[browser srceen]、很多未知望大神告知、简单写了个拖拽
未知作用的有、如果也有像我1样好奇的小伙伴了解了麻烦告知
// console.log(window.screen.availWidth);//未知效果
// console.log(window.screen.availHeight);//未知效果
//
// console.log(window.screen.width);//未知效果
// console.log(window.screen.height);//未知效果
//
// console.log(window.screen.bufferDepth);
// console.log(window.screen.colorDepth);
// console.log(window.screen.deviceXDPI);
// console.log(window.screen.deviceYDPI);
// console.log(window.screen.fontSmoothingEnabled);
// console.log(window.screen.logicalXDPI);
// console.log(window.screen.logicalyDPI);
// console.log(window.screen.pixelDepth);
// console.log(window.screen.updateInteral);
js高级程序设计 p214-215看到的,也没看懂


找到一张图炒鸡好、分享大家看看

另外看到的一些关于客户端的
// //客户端宽度固定、高度会因为内容而改变、不包括margin值
// console.log(document.body.clientWidth);//客户端可见宽度
// console.log(document.body.clientHeight);//客户端可见高度
//
// //同clientWidth clientHeight 效果一样
// console.log(document.body.offsetWidth);
// console.log(document.body.offsetHeight);
//
// console.log(document.body.scrollWidth);//会检测到媒体查询赋值的宽度
// console.log(document.body.scrollHeight);//获得效果跟clientHeight 和 offsetHeight一样
//
// console.log(document.body.scrollTop);//未知效果
// console.log(document.body.scrollLeft);//未知效果
//
// console.log(window.screenTop);//未知效果
// console.log(window.screenLeft);//未知效果 // console.log(document.documentElement.scrollTop);//获得滚动条往下滚动的高度
// console.log(document.documentElement.scrollLeft);//获得滚动条往左滚动的长度 var obj = document.getElementById('div'); //div上左
var divTop = obj.clientTop + obj.offsetTop + document.body.clientTop;
console.log(obj.clientTop + '--' + obj.offsetTop + '--' + document.body.clientTop);
console.log(divTop); var divLeft = obj.clientLeft + obj.offsetLeft + document.body.clientLeft;
console.log(obj.clientLeft + '--' + obj.offsetLeft + '--' + document.body.clientLeft)
console.log(divLeft);
写了一个简单的拖拽
<style>
body{
position:relative;
overflow: hidden;
margin:0;padding:0;//不同客户端展现的不同
}
#testObj{
position:absolute;
top:0;
left:0;
}
</style> <body>
<div id="div" style="width:1290px;height:100px;background:silver"></div>
<script type="text/javascript">
var tObj = document.getElementById('testObj');
tObj.onmousedown = function(e){
var e = e || window.event;
e.cancelBubble = true;//防止冒泡
// var pos = tObj.getBoundingClientRect();//跟offest 一个意思
// var mouseX = e.clientX - pos.left;
// var mouseY = e.clientY - pos.top; var posL = tObj.offsetLeft;
var posT = tObj.offsetTop;
var mouseX = e.clientX - posL;
var mouseY = e.clientY - posT;
document.onmousemove = function(e){
var e = e || window.event;
oLeft = e.clientX - mouseX;
oTop = e.clientY - mouseY;
tObj.style.top = oTop +'px';
tObj.style.left = oLeft +'px'; //防止拖出去
if (oLeft < 0){
tObj.style.left = 0 + "px";
};
if (oLeft > document.documentElement.clientWidth - tObj.offsetWidth - document.documentElement.clientLeft) {
tObj.style.left = document.documentElement.clientWidth - tObj.offsetWidth - document.documentElement.clientLeft + "px";
}
if (oTop<0) {
tObj.style.top = 0 + "px";
};
if (oTop > document.documentElement.clientHeight - tObj.offsetHeight) {
tObj.style.top = document.documentElement.clientHeight - tObj.offsetHeight + "px";
}
};
this.onmouseup = function(e){
document.onmousemove = null;
}
}
</script>
[browser srceen]、很多未知望大神告知、简单写了个拖拽的更多相关文章
- 跟随大神实现简单的Vue框架
自己用vue也不久了,学习之初就看过vue实现的原理,当时看也是迷迷糊糊,能说出来最基本的,但是感觉还是理解的不深入,最近找到了之前收藏的文章,跟着大神一步步敲了一下简易的实现,算是又加深了理解. 原 ...
- 老杜告诉你java小白到大神是怎么炼成的(转载)
老杜告诉你java小白到大神是怎么炼成的 1. 学习前的准备 一个好的学习方法(应该怎么学习更高效): 一个合格的程序员应该具备两个能力 有一个很好的指法速度(敲代码快) 有一个很好的编程思想(编程思 ...
- 【web前端面试题整理04】阿里一行之大神面对面
前言 这段时间我在河南一家公司当了一段时间的前端主管,最后可耻的匿了,原因各种各样,最主要的就是不想呆在郑州了. 其实这里的同事还是很不错的,面对老总最后的挽留我不是没有动心,而是这个地方确实不太好, ...
- 大神:python怎么爬取js的页面
大神:python怎么爬取js的页面 可以试试抓包看看它请求了哪些东西, 很多时候可以绕过网页直接请求后面的API 实在不行就上 selenium (selenium大法好) selenium和pha ...
- 对话机器学习大神Yoshua Bengio(上)
Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun(燕乐存)教授,缔造了2006年开始的深度学习复兴 ...
- 【同行说技术】iOS程序员从小白到大神必读资料汇总
在文章<iOS程序员从小白到大神必读资料汇总(一)>里面介绍了很多iOS入门学习的资料,今天小编就发几篇技术进阶的文章,快来看看吧! 一.iOS后台模式开发指南 这个教程会教你在什么时候怎 ...
- ScrollView嵌套ListView的滑动冲突问题,是看大神的方法的,作为学习以后用的到
在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结 ...
- 兄台息怒,关于arguments,您的想法和大神是一样一样的----闲聊JS中的apply和call
JavaScript提供了apply和call两种调用方式来确定函数体中this的指向,表现出来的特征就是:对象可以'借用'其他对象的方法.之前的几篇博客回顾了一些Web控件的一些开发方法,我们聊了如 ...
- PHP大神的十大优良习惯
概述:通往PHP大神的道路上,应该保持优良的传统和习惯. 1.多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数.就在这些 ...
随机推荐
- 使用docker运行dotnetcore站点
使用docker运行netcore站点 1.新建一.netcore测试站点,dotnet publish 发布到publish目录下 2.编写Dockerfile文件 3.打包上传到centos服务器 ...
- 关于EXIT和BADI增强的查找
EXIT出口的查找: 方法一: 第一步:通过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台创建一张采购订单.点击TIMES页签,查找EXIT开头的SAP程序. 第二步:这些fun ...
- iOS Privacy Policy
This application respects and protects the privacy of all users who use the service. In order to pro ...
- 文件系统常用命令与fdisk分区
一.硬盘结构 1.硬盘的逻辑结构 硬盘的大小是使用"磁头数×柱面数×扇区数×每个扇区的大小"这样的公式来计算的.其中磁头数(Heads)表示硬盘总共有几个磁头,也可以理解成为硬盘有 ...
- 数据库查询性能 LinqDB vs Sql查询
使用LinqDB查询Sqlite数据库数据,不管是大数据还是少量的数据,感觉特别耗时,尤其是首次查询 一个含有2.7万条数据的数据表 首次查询: 查询2.7万条数据,耗时1s 查询指定的1条数据,也要 ...
- springboot(二):bootstrap和application有什么区别?
“SpringBoot专注于快速方便的开发单个个体微服务. SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来, 为各个服务之间提供 ...
- Android WebView与H5联调技巧
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/78 背景: 突然想写一篇关于Android WebView ...
- MySQL数据库~~~~~查询行(文件的内容)
1. 单表查询 语法 select distinct 字段 from 库名.表名 where 条件 group by 字段 # 分组 having 筛选 # 过滤 order by 字段 # 排序 l ...
- 史上最全Oracle数据泵常用命令
本文转自https://blog.csdn.net/Enmotech/article/details/102848825 墨墨导读:expdp和impdp是oracle数据库之间移动数据的工具,本文简 ...
- 表单生成器(Form Builder)之mongodb表单数据——整理数据
在上篇笔记中,为车辆信息表.车辆耗损表以及车辆营收表插入了一些数据.之后便是查询了,重点也在查询……按照之前定好的数据结构,如果查询mongodb document的最外层比较简单,但是我们的重点应该 ...