图片跟着鼠标飞
1.<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<style>
img {
position: absolute;
}
</style></head>
<body>
<img src="images/tianshi.gif" alt="" id="im">
<script src="common.js"></script>
<script>
//鼠标在页面中移动,图片跟着鼠标移动
document.onmousemove = function (e) {
//鼠标的移动的横纵坐标
//可视区域的横坐标
//可视区域的纵坐标
my$("im").style.left = e.clientX + "px";
my$("im").style.top = e.clientY + "px";
};
</script></body>
</html>
2.
//页面的鼠标移动事件
document.onmousemove=function (e) {
//鼠标相对于页面的可视区域的横坐标
//my$("im").style.left=e.clientX+"px";
//鼠标相对于页面的可视区域的纵坐标
//my$("im").style.top=e.clientY+"px";
//因为IE8的浏览器中针对事件参数对象使用的是window.event,那么,事件处理函数中是没有e这个参数的,所以,使用window.event来代替e// my$("im").style.left=window.event.clientX+"px";// my$("im").style.top=window.event.clientY+"px";
//火狐浏览器支持的事件参数对象:e,不支持window.event
//1.=======此时window.event和事件参数对象e是需要兼容的
//2. pageX和pageY就是鼠标相对于页面的边界的坐标
//下面的代码在谷歌和火狐支持// my$("im").style.left=e.pageX+"px";// my$("im").style.top=e.pageY+"px";
//下面的代码在IE8中不支持,不支持pageX和pageY的属性// my$("im").style.left=window.event.pageX+"px";// my$("im").style.top=window.event.pageY+"px";
function getScroll() {
return {
left:window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft||0,
top:window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop||0
}
}
//可视区域横坐+向左卷曲出去的横坐标
my$("im").style.left=window.event.clientX+getScroll().left+"px";
//可视区域纵坐标+向上卷曲出去的纵坐标
my$("im").style.top=window.event.clientY+getScroll().top+"px";
};
案例:拖曳对话框
ps: 实际没有要拖曳登录框的需求,只是演示拖曳的这个效果
1. 获取超链接,注册点击事件,显示登陆框和遮挡层
2. 获取关闭,注册点击事件,隐藏登陆框和遮挡层
3. 按下鼠标,移动鼠标,移动登陆框
<!DOCTYPE html><html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.login-header {
width: 100%;
text-align: center;
height: 30px;
font-size: 24px;
line-height: 30px;
}
ul,
li,
ol,
dl,
dt,
dd,
div,
p,
span,
h1,
h2,
h3,
h4,
h5,
h6,
a {
padding: 0px;
margin: 0px;
}
.login {
width: 512px;
position: absolute;
border: #ebebeb solid 1px;
height: 280px;
left: 50%;
right: 50%;
background: #ffffff;
box-shadow: 0px 0px 20px #ddd;
z-index: 9999;
margin-left: -250px;
margin-top: 140px;
display: none;
}
.login-title {
width: 100%;
margin: 10px 0px 0px 0px;
text-align: center;
line-height: 40px;
height: 40px;
font-size: 18px;
position: relative;
cursor: move;
-moz-user-select: none;
/*火狐*/
-webkit-user-select: none;
/*webkit浏览器*/
-ms-user-select: none;
/*IE10*/
-khtml-user-select: none;
/*早期浏览器*/
user-select: none;
}
.login-input-content {
margin-top: 20px;
}
.login-button {
width: 50%;
margin: 30px auto 0px auto;
line-height: 40px;
font-size: 14px;
border: #ebebeb 1px solid;
text-align: center;
}
.login-bg {
width: 100%;
height: 100%;
position: fixed;
top: 0px;
left: 0px;
background: #000000;
filter: alpha(opacity=30);
-moz-opacity: 0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
display: none;
}
a {
text-decoration: none;
color: #000000;
}
.login-button a {