javascript的原型,原型链,内置对象 拖曳对话框 放大镜显示和隐藏遮挡层及大层

本文通过实例展示了JavaScript在网页交互中的应用,包括图片跟随鼠标移动、拖曳对话框、高清放大镜显示与隐藏、无刷新评论功能。通过这些案例,读者可以深入理解JavaScript在页面动态效果和用户体验提升上的实现方法。
摘要由CSDN通过智能技术生成

图片跟着鼠标飞

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 {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值