练习 - 小人移动

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{margin: 0;padding: 0;}
#wrap{width:500px;height:500px;border: 1px solid green;margin:10px auto; position:relative;}
#wrap img{position:absolute;top:0;left:0;}

</style>
</head>
<body>

    <div id="wrap">按Q统计步数~
        <img id="ren" src="images/b1.gif" >
    </div>
    <script>

        // 获取小人的对象
        var Ren = document.getElementById(‘ren‘);

        // 绑定键盘按下的事件
        document.onkeydown = function(event){

            //    处理兼容性的问题
            var e = window.event || event;

            // 设置人 每次移动的步长
            var step = 10;

            /*
                w-87   s-83   a-65   d-68
            */
            switch (e.keyCode) {
                case 87: // 上
                    Ren.style.top = Math.max(0,Ren.offsetTop-step)+‘px‘;
                    // Ren.style.top = Ren.offsetTop-step+‘px‘;
                    changeImg(‘u1.gif‘,‘u2.gif‘);
                    break;
                case 83: // 下
                    // alert(Ren.offsetTop);  当前top 值
                    // Ren.style.top = Ren.offsetTop+step+‘px‘;
                    // 向下的边界 top 470  如果470 大  就取470
                    Ren.style.top = Math.min(470,Ren.offsetTop+step)+‘px‘;
                    changeImg(‘b1.gif‘,‘b2.gif‘);
                    break;
                case 65: // 左
                    // Ren.style.left = Ren.offsetLeft-step+‘px‘;
                    Ren.style.left = Math.max(0,Ren.offsetLeft-step)+‘px‘;
                    changeImg(‘l1.gif‘,‘l2.gif‘);
                    break;
                case 68: // 右
                    // Ren.style.left = Ren.offsetLeft+step+‘px‘;
                    Ren.style.left = Math.min(470,Ren.offsetLeft+step)+‘px‘;
                    changeImg(‘r1.gif‘,‘r2.gif‘);
                    break;
                case 81:
                    alert(‘您一共走了‘+i+‘步~‘);
            }
        }

        // // 换图方法
        // function changeImg(img1,img2){
        //     // 从绝对路径中截取 文件名
        //     var newTu = Ren.src.substr(Ren.src.lastIndexOf(‘/‘)+1);
        //     // 根据方向来确定显示的图片
        //     if(newTu == img1){
        //         Ren.src = ‘images/‘+img2;
        //     }else{
        //         Ren.src = ‘images/‘+img1;
        //     }
        // }
        var i = 0;
        function changeImg(img1, img2){
            if(i%2==0){ //或许只写i%2也是对的
                Ren.src = ‘images/‘+img2;
            }else{
                Ren.src = ‘images/‘+img1;
            }
            i++;
        }
    </script>

在线地址:http://yupinghua.com/practices/components/%E5%B0%8F%E4%BA%BA%E7%A7%BB%E5%8A%A8.html

时间: 2024-08-04 04:03:03

练习 - 小人移动的相关文章

谋哥:微信启动界面的小人是什么意思?

[谋哥每天一原创,第一百六十三篇] 微信启动首页的这个小人是谁呢?他在干嘛?这张图到底什么意思呢? 谋哥今天就扯淡扯淡这个界面,权当作无聊,但是往往无聊的话最是真实了,这个你懂的. OK,你可能最近看过一些段子,说这个小人是张小龙自己,他孤独地站在那里,表明曾经的他在思考做微信这个产品的时候是孤独的.这个是网上最近的说辞,暂且不说它对和错.首先我们要搞清楚的是,这个小人确实是一个人,不是两个人.一个人很容易被理解代表孤独,但是我觉得未必是如此,后面再细说.说第二点,这个人站在什么位置?很明显,这

懒惰小人和勤奋小人的故事

懒惰小人和勤奋小人的故事,想必我们已经听过很多次了.我们经常会说很难超越的那个人其实就是自己,这句话本身就没有错.而勤奋小人和懒惰小人的故事,只是自嘲的一种方式而已.有很多事并不是勤奋了就能成功,而真正的成功是与自己的对弈罢了. 还有这样一个故事,小孙子问老爷爷:家里养的两只狼,一只很凶,一只很温顺,我最后该依靠谁呢?爷爷并没有正面回答孙子,而是这样回答:你喂谁食,你就依靠谁.很简单的一个故事,人为什么会有好人和坏人,为什么会有成功和失败,都是一个道理. 我们姑且不说人性如何,无论是懒惰小人还是

原生JS,运动的小人

今天突然想起来,不知道在什么网站上看的一个纯纯的原生JS写的效果,运动的小人,所以在这里给大家分享一下代码: 并说明:这不是本人写的,而是我在浏览网站是无意中发现的,现在已经不记得是哪个网站了,但是要说明,这不是本人的代码,求大神现身吧!! 先看效果图:先是统一动作 后随机动作: 并且鼠标可任意拉扯小人进行拖拽,拽到最上方时,鼠标不松手,即可会有两只小人从屏幕上方掉下来,一直是被你鼠标托上去那只,一直是 比拖的那只大两倍大小人!! 来看代码: 1 <!DOCTYPE html> 2 <h

唯小人与女子难养也

星期天大清扫,先生拖地刷拖鞋,我干些零零索索的活,一句话弄得我火冒三丈,他竟然说看不见我干活.自己想来,如今这忙忙叨叨的日子,自己越来越向大妈级别靠拢,干不完的家务,早晨起来准备早餐,然后喂饭,洗碗,收拾脏衣服.我一边带着孩子,一边上着班.他竟然说我啥也不干.有一种交友不善的感觉. 午后,大宝睡醒,和先生玩耍,不小心扭到了胳膊.于是接下来的时间,她哭了一个小时,后来不得不借助动画片来安抚,直到吃饭睡觉. 先生无奈了,一家里3个女人.我帮他总结,唯小人与女人不可得罪也. 七月开始,下半年拉开帷幕.

快速排序算法--两个小人扔萝卜

public static void quickSort(int[] A, int low, int high) { if(low < high) { int pivotpos = partition2(A, low, high); //完成pivot的定位 quickSort(A, low, pivotpos - 1); quickSort(A, pivotpos + 1, high); } } public static int partition1(int[] A, int low, in

君子周而不比,小人比而不周

君子就是老板,他有实力,就要周遭地照顾大家.所以是周而不比. 像我这样的程序员就是小人,小人有什么实力照顾大家呢?连自己都照顾不了.所以小人只有去依附别人,去追随别人.所以是比而不周.比就是比附,依附,追随的意思. 小人不是骂人的话,而是说有的人能量高,有的人能量低.

君子和而不同,小人同而不和

出自<论语·子路>,是孔子所言. 子曰:“君子和而不同,小人同而不和.” 所谓“和而不同”,是指君子在人际交往中能够与他人保持一种和谐友善的关系,但在对具体问题的看法上却不必苟同于对方:所谓“同而不和”则是指小人习惯于在对问题的看法上迎合别人的心理.附和别人的言论.但在内心深处却并不抱有一种和谐友善的态度. 在日常生活中,人们对某一问题持有不同的看法,这本是极为正常的.真正的朋友应该通过交换意见.沟通思想而求得共识:即使暂时统一不了思想也不会伤了和气,可以经过时间的检验来证明谁的意见更为正确:

android开发(43) 动画演示,会跑的小人,从屏幕左侧跑到右侧

想做一个动画,一个会跑的小人,从屏幕右侧跑道右侧,于是做了个尝试,上图: 要完成这样需要三步: 1. 做一个 帧动画 (frame animation),由多张图片组成,组成小人连续跑动的样子. 2. 做一个 位移动画 使得小人 从左到右产生移动. 3. 在onStart里启动动画 下面分别解释: ---第一步------------------ 准备多个动作的图片,写个xml animation : <?xml version="1.0" encoding="utf-

StarUML中时序图添加小人

转载于 http://blog.csdn.net/longyuhome/article/details/9011629 在看时序图的例子的时候,发现有些的时序图上有小人的图标,可是一些UML工具却没有找到小人的图标,这让我很闹心,一直没解决,今天终于将该问题给解决了.解决这个问题来自于网上的一个建议,那个建议说复制一个小人,可我以前做的复制的时候就没有成功,今天根据这个建议研究了一下,终于把小人(角色)给添加上了.现在分享给需要的人. 步骤如下所示: 1.首先建立一个空项目,如图所示: 2.然后