javascript-function moveElement()函数

问题描述

function moveElement()函数

function moveElement(elementID,final_x,final_y,interval) {
if (!document.getElementById) return false;
if (!document.getElementById(elementID)) return false;
var elem = document.getElementById(elementID);
if (elem.movement) {
clearTimeout(elem.movement);
}
if (!elem.style.left) {
elem.style.left = "0px";
}
if (!elem.style.top) {
elem.style.top = "0px";
}
var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
var dist = 0;
if (xpos == final_x && ypos == final_y) {
return true;
}
if (xpos < final_x) {
var dist = Math.ceil((final_x - xpos)/10);
xpos = xpos + dist;
}
if (xpos > final_x) {
var dist = Math.ceil((xpos - final_x)/10);
xpos = xpos - dist;
}
if (ypos < final_y) {
var dist = Math.ceil((final_y - ypos)/10);
ypos = ypos + dist;
}
if (ypos > final_y) {
var dist = Math.ceil((ypos - final_y)/10);
ypos = ypos - dist;
}
elem.style.left = xpos + "px";
elem.style.top = ypos + "px";
var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
elem.movement = setTimeout(repeat,interval);
}
在此函数中,为什么声明变量 var dist = 0; 初学JavaScript,此处不理解,请各位老师指教,谢谢!

解决方案

C++ 函数模板( Function templates)
C++函数模板(function template)
似然函数likelihood function
----------------------

解决方案二:

一般初始化是为了要进行数型运算,习惯性设为零,不初始化也没什么关系的。

解决方案三:

就是初始化,给dist 一个默认值,没有什么特别意义,防止dist用null进行计算吧

解决方案四:

你的是做数值操作,最好是赋值,要不你做加减操作时没有值就会得到NaN,到时可能报错或者没有效果

解决方案五:

谢谢各位老师的指教,非常感谢!

时间: 2024-09-11 04:34:39

javascript-function moveElement()函数的相关文章

javascript-在 JavaScript 中每个函数都是一个Function对象。

问题描述 在 JavaScript 中每个函数都是一个Function对象. Function 构造器会创建一个新的 Function 对象. 在 JavaScript 中每个函数都是一个Function对象. 这句话应该怎么理解? 解决方案 因为每一个函数都是function name(){},,声明一个函数就创建一个function对象 解决方案二: 不知道你问的是不是这个概念,每当你创建一个函数对象时,js引擎都会调用所有函数对象的父类,也就是Function的构造函数来创建一个函数对象,

JavaScript function函数种类详解_javascript技巧

本篇主要介绍普通函数.匿名函数.闭包函数 目录 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. 闭包函数:介绍闭包函数的特性.   1. 普通函数1.1 示例 function ShowName(name) { alert(name); } 1.2 Js中同名函数的覆盖 在Js中函数是没有重载,定义相同函数名.不同参数签名的函数,后面的函数会覆盖前面的函数.调用时,只会调用后面的函数. var n1 =

JavaScript function函数种类

原文:JavaScript function函数种类 本篇主要介绍普通函数.匿名函数.闭包函数 1.普通函数介绍 1.1 示例 function ShowName(name) { alert(name); } 1.2 Js中同名函数的覆盖 在Js中函数是没有重载,定义相同函数名.不同参数签名的函数,后面的函数会覆盖前面的函数.调用时,只会调用后面的函数. var n1 = 1; function add(value1) { return n1 + 1; } alert(add(n1));//调用

JavaScript Function函数类型介绍_javascript技巧

// 在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例;而且都与其他引用类型一样具有属性和方法; // 由于函数是对象,因此函数名实际上也是一个指向函数对象的指针; 一 函数的声明方式 1.函数声明方式 function box(num1,num2){ return num1+num2; } 2.函数表达式定义函数 var box = function(num1,num2){ // 通过变量box即可引用函数; return num1+num2; };

从阶乘函数对比Javascript和C#函数

  今天学习Javascript函数,发现这完全是一个神奇的东西.跟我们平常所见强类型语言中的函数有好多不同.下面我们就从C#和JavaScript的两个计算阶乘的函数中比较两者的异同.        JavaScript代码块 1 <script type="text/javascript"> 2 function factorial(num) { 3 if (num <= 1) { 4 return 1; 5 } else { 6 return num * arg

AJAX入门之深入理解JavaScript中的函数

ajax|javascript|函数 概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递.在继续讲述之前,先看一下函数的使用语法: function func1(-){-}var func2=function(-){-};var func3=function func4(-){-};var f

javascript 常用验证函数

javascript|函数 一.验证类1.数字验证内  1.1 整数  1.2 大于0的整数 (用于传来的ID的验证)  1.3 负整数的验证  1.4 整数不能大于iMax  1.5 整数不能小于iMin2.时间类  2.1 短时间,形如 (13:04:06)  2.2 短日期,形如 (2003-12-05)  2.3 长时间,形如 (2003-12-05 13:04:06)  2.4 只有年和月.形如(2003-05,或者2003-5)  2.5 只有小时和分钟,形如(12:03)3.表单类

让JavaScript轻松支持函数重载(Part 2

在"让 JavaScript 轻松支持函数重载 (Part 1 - 设计)"里,我们设计了一套能在JavaScript中描述函数重载的方法,这套方法依赖于一个叫做Overload的静态类,现在我们就来看看如何实现这个静态类. 识别文本签名 我们先来回顾一下上一篇文章中提到的Overload用例: var extend = Overload .add("*, ...", function(target) { }) .add("Boolean, *, ...&

让JavaScript轻松支持函数重载(Part 1

JavaScript支持重载吗? JavaScript支持函数重载吗?可以说不支持,也可以说支持.说不支持,是因为JavaScript不能好像其它原生支持函数重载的语言一样,直接写多个同名函数,让编译器来判断某个调用对应的是哪一个重载.说支持,是因为JavaScript函数对参数列表不作任何限制,可以在函数内部模拟对函数重载的支持. 实际上,在很多著名的开源库当中,我们都可以看到函数内部模拟重载支持的设计.例如说jQuery的jQuery.extend方法,就是通过参数类型判断出可选参数是否存在