[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.多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数.就在这些 ...
随机推荐
- 使用Navicat Keygen激活(破解)Navicat Premium 12
1.到Navicat官网下载使用版本进行安装,具体操作不再详述.Navcat官网下载链接:http://www.navicat.com.cn/download/navicat-premium : 2. ...
- WinCC的电子签名与审计追踪
如何写入审计追踪记录 用脚本向Audit中添加记录有两种方法,一种方法是用InserAuditEntryNew函数写入,另一种方法是生成属于“操作员输入消息”类型的报警消息,该报警消息会记录到Audi ...
- 面试连环炮系列(六):Dubbo应用为什么要部署Zookeeper
Dubbo应用为什么要部署Zookeeper? Zookeeper用来注册和发现服务,简单说就是提供端注册接口信息到Zookeeper,调用端在Zookeeper上查找接口对应的服务IP和端口.由于Z ...
- PHP最新面试题2019
1.字符串"0"在PHP和js中转换为布尔值是false还是true php:false; php 弱语言 '0'和0一样: js:true:字符串除了空字符串('')其他都是t ...
- Java安装JDK
因为Java程序必须运行在JVM之上,所以,我们第一件事情就是安装JDK. 搜索JDK 13,确保从Oracle的官网下载最新的稳定版JDK: 1.选择JDK版本 2.同意协议,点击合适系统平台下载 ...
- C# 使用TopShelf实现Windows服务部署
一.TopShelf介绍 topShelf是创建Windows服务的一种方式,可以方便管理应用服务,最大广泛应用于,数据实时接收,定时推送等. 二.TopShelf使用 1.安装 TopShelf程序 ...
- 5分钟搞定Jenkis
目录 什么是持续集成 Jenkins简介 Jenkins安装与启动 Jenkins插件安装 全局工具配置 自动安装 本地安装 代码上传至Git服务器 任务的创建与执行 Go项目 JAVA项目 @ 什么 ...
- variable '' of type '' referenced from scope '', but it is not defined 异常解决方法
最近在做一个功能,通过拼接lamdba表达试来实现的功能,但测试时总是出现一个错误,如下图所示,网上也找不到答案,差点都放弃了.. 如上图图所示,我是想通过一个lamdba表达式(上图的IdField ...
- Choose the WinForms UI Type 选择 WinForms UI 类型
In this lesson, you will learn how to change the UI Type of the WinForms application. By default, th ...
- GitLab-怎样使用GitLab托管项目
场景 Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...