<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>practice</title>
     <style type="text/css">
         *{margin:0px;padding:0px;}
         #div1 {position:relative;left:-200px;width:200px;height:200px;margin-top:50px;background-color: pink;}
         #share{background-color:lightblue;width:20px;height:50px;position: absolute;left:200px;top:75px;}
     </style>
     <script type="text/javascript">
         window.onload=function(){
             var div1=document.getElementById("div1");
             div1.onmouseover=startMove;
             /*不加括号,就是正常的,鼠标滑过,开始移动,表示鼠标滑过,调用这个函数*/
             /*div1.onmouseover=startMove();*/
             /*加了括号之后,一打开就开始移动,表示,把函数执行的结果给div1的鼠标滑过事件,所以会去先执行函数,
             因为函数执行的结果就是offsetLeft==0,然后把这个结果给div1的鼠标滑过事件,所以会出现一打开就跑,
             这是为了得到函数执行的结果*/
             div1.onmouseout=startMove1;
         };
         var timer=['1'];
         /*必须要在外面定义,放在函数里面定义就失败了;
         含义:timer函数外定义,在两个函数内同时调用,意为,当startMove1调用时,清除startMove的timer,反之亦如此;
         这样就不会同时运行两个timer,一个函数执行timer前,先清除另一个timer,这样往前停止,再调用timer往后,
         否则同时运行会出错;*/
         function startMove(){
             /*alert(timer.length);*/
             clearInterval(timer);
             timer=setInterval(
                             function(){
                                 if(div1.offsetLeft==0){clearInterval(timer)}//判断要计算,所以不能带'px',用offsetLeft
                                     else {/*alert(div1.style.left);*/
                                     //offsetLeft显示无'px',style.left显示有'px'
                 /*疑问:alert里面这样用,第一次显示不出left值,后面才可以,为什么?
                 换成offsetLeft第一次就可以显示出来*/
                                         div1.style.left=div1.offsetLeft+10+'px';
                                         //这个地方要+-,最好不带'px'
                                         console.log(div1.offsetLeft);
                                     }}
                                ,30);
         }
         function startMove1(){
             clearInterval(timer);
             timer=setInterval(
                             function(){
                                 if(div1.offsetLeft==-200){clearInterval(timer);}
                                     else{div1.style.left=div1.offsetLeft-10+'px';
                                     console.log(div1.offsetLeft);}
                             }
                             ,30);
         }
     </script>
 </head>
 <body>

     <div id="div1">
         <span id="share">分享</span>
     </div>
 </body>
 </html>

js窗口边缘滑入滑出效果-初级代码的更多相关文章

  1. 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果 用户将光标移动到"最新动态页"或"帮助查询" ...

  2. WPF技术触屏上的应用系列(五): 图片列表异步加载、手指进行缩小、放大、拖动 、惯性滑入滑出等效果

    原文:WPF技术触屏上的应用系列(五): 图片列表异步加载.手指进行缩小.放大.拖动 .惯性滑入滑出等效果 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统, ...

  3. css transition 实现滑入滑出

    transition是css最简单的动画. 通常当一个div属性变化时,我们会立即看的变化,从旧样式到新样式是一瞬间的,嗖嗖嗖!!! 但是,如果我希望是慢慢的从一种状态,转变成另外一种状态,怎么办?  ...

  4. JQuery动画之滑入滑出动画

    1. 滑入动画(类似于商店的卷帘门) $(selector).slideDown(speed, 回调函数); 解释: 此语句实现的功能为, 在XX时间内, 下拉动画, 显现元素. 当 slideDow ...

  5. 【jquery隐藏、显示事件and提示callback】【淡入淡出fadeToggle】【滑入滑出slideToggle】【动画animate】【停止动画stop】

    1.jquery隐藏and显示事件 $("p").hide();      //隐藏事件$("p").hide(1000);  //1秒内缓慢隐藏$(" ...

  6. jQuary总结7:动画操作,显示与隐藏 淡入淡出, 滑入滑出

    1 jquery提供了三组基本动画,这些动画都是标准的.有规律的效果,jquery还提供了自定义动画的功能. 2 显示与隐藏: show([speed],[easing],[callback]) 显示 ...

  7. 伴随ListView、RecyclerView、ScrollView滚动滑入滑出小图标--第三方开源--FloatingActionButton

    FloatingActionButton在github上的项目主页是:https://github.com/makovkastar/FloatingActionButton 它的依赖包NineOldA ...

  8. NSIS:实现程序窗口逐渐透明的渐入渐出效果

    原文NSIS:实现程序窗口逐渐透明的渐入渐出效果 需要修改版的插件(支持timer功能): MUI:InstallOptions.dll MUI2:nsDialogs.dll 以及system插件,( ...

  9. [Unity3D]Unity3D游戏开发之Logo渐入渐出效果的实现

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. centos6.6编译安装lnmp系列之mysql

    简介: 环境:虚拟机+centos6.6 Mysql版本:5.6.21 Mysql下载地址:http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.21.t ...

  2. Message Queue vs. Web Services?

    From stackoverflow.com When you use a web service you have a client and a server: If the server fail ...

  3. 【树莓派】使用树莓派制作img镜像(一)

    最近一直在折腾树莓派,前几天装了10台设备,最近又来了15台开发板子.基本每台设备都需要进行如下操作: 1.安装树莓派OS,并配置键盘.时区.语言编码格式等: 2.新增组.用户.配置静态IP地址: 3 ...

  4. Lucas定理

    Lucas' theorem In number theory, Lucas's theorem expresses the remainder of division of the binomial ...

  5. iOS - C 基本语法

    1.数据类型 2.常量 1)凡是整数数字常量一律是 int 型. 2)typedef 和 define. typedef 定义类型, #define 只是字符串替换. 3)在编写整形常量时,可以在常量 ...

  6. iOS Build Setting证书设置

    发布的用distribution debug的用development, debug是调试模式, 除非需要日志, 内部测试的时候, 才要debug模式的. release的用distribution

  7. java高薪之路__003_集合

    Java集合可分为Collection和Map两大体系 Collection接口 |---- Set: 元素无序.不可重复 |---- List: 元素有序.可重复 (动态数组) |---- Queu ...

  8. java中获取ServletContext常见方法

    http://blog.sina.com.cn/s/blog_3fe961ae0100wjnf.html 1.在javax.servlet.Filter中直接获取 ServletContext con ...

  9. 0505 Scrum 项目1.0

    应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 录制为演说视频,上传到视频网站,并把链接发到团队博客上. 团队项目选题  一个售书网站(O2O) NABCD 模型 1) N (N ...

  10. 并发编程 17—— Lock

    Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...