题目:用原型的方法,绘制会动的汽车,要求1.可以一下制作一组汽车;2.让汽车向右移动;3.移动的距离可以手动控制

分析:

  1. 用构造函数方方创建一组车辆的坐标
  2. 绘制汽车
  3. 向右移动(可手动更改移动距离)
//用构造函数创建一组坐标
var Car = function (x, y) {
    this.x = x;
    this.y = y;
};

//用原型方法向Car内部添加属性(方法),绘制汽车
Car.prototype.draw = function () {
    var carHtml = '<img src="https://i.loli.net/2018/04/30/5ae6b2fd38015.jpg">';
    this.carElement = $(carHtml);

    this.carElement.css({
        position : "absolute",
        left : this.x,
        top : this.y
    });
    $("body").append(this.carElement);
};

//向右移动,可手动修改参数
Car.prototype.moveRight = function (distance) {
    this.x += distance;
    
    this.carElement.css({
        left : this.x,
        top : this.y
    })
};

//调用Car,可随时新建n辆汽车,且独立
var tesla = new Car(20.20);
tesla.draw();

//setinterval()方法,周期性的调用函数
setInterval(function () {tesla.moveRight(10)},10);

注意:如果用这种方法调用setInterval(tesla.moveRight(10),10)setInterval()会调用windowsmoveRight,而不是teslamoveRight,看到的效果是:只在页面加载时,运行了一次,就没有后文了。


uccs
756 声望88 粉丝

3年 gis 开发,wx:ttxbg210604