js练习--小圆链
来源:互联网 发布:打印机显示网络 编辑:程序博客网 时间:2024/06/14 14:24
createChain.chainSet=[];function createChain(ballsNum,lockLeft,lockTop){var chain=new ballsChain(ballsNum,lockLeft,lockTop);chain.initializeChain();createChain.chainSet.push(chain);document.onmousemove=function(event){ballsChain.clientX=event.clientX;ballsChain.clientY=event.clientY;for(var i=0;i<createChain.chainSet.length;i++){createChain.chainSet[i].moveChain();}}}function ballsChain(num,ll,lt){this.ballsNum=num;this.lockLeft=ll;this.lockTop=lt;this.ballsSet=[];}ballsChain.prototype.initializeChain=function(){for(var i=0;i<this.ballsNum;i++){var ball=document.createElement("p");ball.style.left=this.lockLeft+"px";ball.style.top=this.lockTop+"px";document.body.appendChild(ball);this.ballsSet.push(ball);}}ballsChain.prototype.moveChain=function(){for(var i=0;i<this.ballsNum;i++){this.ballsSet[i].style.left=this.lockLeft+i*((ballsChain.clientX-this.lockLeft)/this.ballsNum)+"px";this.ballsSet[i].style.top=this.lockTop+i*((ballsChain.clientY-this.lockTop)/this.ballsNum)+"px";}}createChain(50,100,100);createChain(50,200,100);createChain(50,100,200);createChain(50,200,200);
<style type="text/css">p{ border-radius:50%;width:10px;height:10px;background-color:#000000;position:absolute}</style>
①一步(即上面的createChain(50,100,100))即可创建一条链,之前的是自己创建一个实例,还得手动生成链、注册监听器。
②用prototype、类属性的概念优化之前的代码。以下是得到的一些心得(不一定对哈,望高手指点)
一、类属性、this修饰的属性、prototype修饰的属性的区别:
类属性只能通过类访问,
实例属性(this修饰)只能通过实例访问,
prototype修饰属性不能通过类访问,可以通过实例访问例:function A(num)
{
A.a=0;
this.b=num;
}A.prototype.c=99;
a1=new A(5);
a2=new A(55);
则可有如下表
.a .b .c
A 0 undefined undefineda1 undefined 5 99
a2 undefined 55 99
二、动画效果就是数据的计算+数据的呈现阅读全文
0 0
- js练习--小圆链
- viewpager+ 小圆点 练习
- js轮播图-自动,手动,小圆点
- js-动态生成小圆点(根据轮播图图片张数动态生成小圆点)
- js练习
- JS练习
- js练习
- JS 练习
- JS练习
- js练习
- js练习
- js 练习
- js 实现简单的动画效果(小圆移动)
- JS小练习
- js 简单练习节点
- js函数练习
- js数组练习
- js练习1
- 读书笔记_代码大全2第十一章_选择好的变量名
- JavaScript基本概念(变量 数据类型)
- 首先是如何来加快Android的编译过程
- 广义拉格朗日函数的理解
- docker-image container 基本操作 -常用命令
- js练习--小圆链
- ConcurrentModificationException引发原因源码简析
- javaweb笔记
- JVM性能优化, Part 2 ―― 编译器
- 带你网络入门
- [设计模式](十):策略模式(Strategy)与模板模式(Template)详解及二者间区别介绍(两种父子类行为模式)
- 线程的通讯
- JVM性能优化, Part 3 垃圾回收
- hdu6129 Just do it 2017多校第七场1010 杨辉三角+规律