JS错误记录 - 按左右箭头div移动、一串div跟着鼠标移动
本次练习错误总结:
1. div跟着用户操作而移动,首先必须要绝对定位,否则无法移动。
2. if条件语句里面是双等号,不是单等号(赋值)。
3. 坐标值没有Right,只能offsetLeft 加减。
//oDiv.style.right = oDiv.offsetRight + 10 + 'px';
<style>
div{
width: 100px;
height: 100px;
background-color: #ccc;
/* border: 1px solid #000; */
position:absolute;
/* 没写绝对定位。。。。。。div不能移动。。。 */
}
</style> <script>
document.onkeydown = function(ev){
var oEvent = ev||event;
var oDiv = document.getElementById('div1'); // if(oEvent.keyCode = 39)
//赋值是一个等号,if里面是双等号 == if(oEvent.keyCode == 39)
{
oDiv.style.left = oDiv.offsetLeft + 10 + 'px';
}
else if(oEvent.keyCode == 37)
{
//oDiv.style.right = oDiv.offsetRight + 10 + 'px';
//没有右边值。。。。 只能offsetLeft 加减。
oDiv.style.left = oDiv.offsetLeft - 10 + 'px';
}
};
</script>
function getPos(ev) {
// var oEvent = ev||event; 这里是否需要这个变量? 不需要
var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
var scrollLeft = document.documentElement.scrollLeft||document.body.scrollLeft; return { x:ev.clientX + scrollLeft, y:ev.clientY + scrollTop}
}; document.onmousemove = function (ev) {
var oEvent = ev||event;
var pos = getPos(oEvent);
var aDiv = document.getElementsByTagName('div'); for(var i=aDiv.length-1; i>0; i--){
aDiv[i].style.left = aDiv[i-1].offsetLeft + 'px';
aDiv[i].style.top= aDiv[i-1].offsetTop + 'px';
} aDiv[0].style.left = pos.x + 'px';
aDiv[0].style.top = pos.y + 'px';
};
JS错误记录 - 按左右箭头div移动、一串div跟着鼠标移动的更多相关文章
- JS错误记录 - 右侧悬浮框 - 缓冲运动
本次练习错误总结: 1. 正确: startMove( document.documentElement.clientHeight - oDiv.offsetHeight + scrollTop); ...
- JS错误记录 - 微博发布
<style> *{ margin: 0; padding: 0;} #ul1{ width: 400px; height: 400px; border: 1px solid #000; ...
- JS错误记录 - 事件 - 拖拽
错误总结: 1. var disX = 0; 现在window.onload里声明变量,而不是在事件oDiv.onmousedown里面声明并赋值. 对于这个还不是很明白. 2. onmoused ...
- JS错误记录 - getStyle代替offset、任意值运动框
本次练习错误总结: 1. 改变border的宽度,属性名称不是直接写border,而是borderWidth. 2. 运动函数 -- 清除定时器 -- 开启新的定时器. 不是在新定时器开启之后再清除 ...
- JS错误记录 - dom操作 - 排序
本次练习错误总结: 1. for循环要套到按钮的onclick里面,否则onclick点击事件无法依次执行. 2. var n1, var n2 这两个变量是arr.sort排序使用的,所以应该放在s ...
- JS错误记录 - To-do List
var data = (localStorage.getItem('todolist'))? JSON.parse(localStorage.getItem('todolist')) : { todo ...
- JS错误记录 - fgm练习 - 函数传参
<script> window.onload = function() { var oBtn = document.getElementsByTagName('button')[0]; v ...
- JS错误记录 - 记录上次登陆的用户名
<script> //步骤 1.submit => 用户名存进cookie 2. onload => 从cookie读取用户名 window.onload = function ...
- JS错误记录 - 取消事件冒泡、按钮、回车、ctrl回车提交留言
window.onload = function () { var oDiv = document.getElementById('div1'); var oBtn = document.getEle ...
随机推荐
- python创建多层目录的方式
将 os.mkdir 改成 os.makedirs(opDir) 哈.
- linearlayout-weight 属性作用
今天用到了weight的属性,现在就把这个属性的具体意义记录一下.也是参考网上的讲解,只不过自己验证了一下而已 参考自 http://blog.csdn.net/jincf2011/article/d ...
- VS添加程序集
项目->添加->引用->程序集 可在项目的引用目录中,查看引用的程序集
- .Net数据操作案例
Interface using System.Collections.Generic; using Ddd.Core.Domain.Customers; namespace Ddd.Services. ...
- c#数据类型格式转换大全
来源:网络 1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 ...
- Spring--之旅
spring的地位 如图可以看出,sping纵跨整个项目架构,它是一个容器框架.下面使用一个简单的项目来认识spring. 快速入门 step 1.新建一个普通Java工程,spring只是一种容器, ...
- windows查看硬件信息系统信息
rem 查看cpu wmic cpu list briefrem 查看物理内存wmic memphysical list briefrem 查看逻辑内存wmic memlogical list bri ...
- hdu 3294 Girls' research
#include<stdio.h> #include<string.h> #define MAX 200020 char s[MAX],ss[MAX*2],str[2]; in ...
- 【翻译自mos文章】OGG的集成捕捉模式支持Oracle database标准版么?
OGG的集成捕捉模式支持Oracle database标准版么? 来源于: Does OGG 11.2.1 Integrated Capture Work with Oracle Database S ...
- Unix下后门查找{上}
本文出自 "李晨光原创技术博客" 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/683699