前端-我修改了一个javascript函数,功能一样,但不能正常运行 。

问题描述

我修改了一个javascript函数,功能一样,但不能正常运行 。

原函数来自《Javascript DOM 编程艺术(第二版)》

这里是原函数:

http://paste.ubuntu.com/8963863/

相对应的HTML代码和另外两个运行所需的函数如下:

HTML:

http://paste.ubuntu.com/8964733/

两个运行要调用的函数:

http://paste.ubuntu.com/8964726/
http://paste.ubuntu.com/8964748/

以下是我修改之后的函数,我检查后觉得没有问题,但不能运行,不知道是哪里错了,

http://paste.ubuntu.com/8963930/

解决方案

setTimeout第一个参数是字符串时,你的函数需要是全局作用域下能访问到的,你那样申明只能在moveElement2中访问到
moveElement 改成下面这样
window.moveElement = function (elementID, final_x, final_y) {

或者setTimeout的repeat参数改成这样

var repeat = function () { moveElement(e,f,g)}; // "moveElement('" + e + "'," + f + "," + g + ")";
setTimeout(repeat, h);

解决方案二:

你在浏览器按F12打开开发者工具,在控制台看看有没有错误。
你positionMessage调用的是moveElement,但moveElement是moveElement2函数内的,不能调用。
另外你moveElement2再封装一层目的是什么?你也没给setTimeout传入时间间隔参数。

解决方案三:

上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

时间: 2025-01-21 08:06:30

前端-我修改了一个javascript函数,功能一样,但不能正常运行 。的相关文章

一个JavaScript函数把URL参数解析成Json对象_javascript技巧

问题:请编写一个JavaScript函数parseQueryString,它的用途是把URL参数解析为一个对象. eg:var obj=parseQueryString(url); 创建对象的三种形式: 一: var Person=new Object(); Person.name="Sun"; Person.age=24; 二: var Person=new Object(); Person["name"]="Sun"; Person[&quo

我写了一个javascript函数在javaweb标签a的onclick事件中调用为什么不执行

问题描述 <%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%><html><head><scriptsrc="javascript/leftmenu.js"type="text/javascript"></script><linkhref="CSS2/leftm

JavaScript函数使用的基本教程

  这篇文章主要介绍了JavaScript函数使用的基本教程,是JS入门学习中的基础知识,需要的朋友可以参考下 函数是一组可重用的代码,可以在程序的任何地方被调用.这消除了一次又一次地写入相同的代码的需要.这将帮助程序员编写模块化代码.您可以在一些小且易于管理的功能划分大程序. 像任何其他高级编程语言,JavaScript支持所有必要写模块化的代码使用函数的特点. 一定见过这样 alert() 和write()在前面的章节功能.我们一次又一次地使用这些功能,但它们已经写在核心JavaScript

JavaScript函数使用的基本教程_基础知识

 函数是一组可重用的代码,可以在程序的任何地方被调用.这消除了一次又一次地写入相同的代码的需要.这将帮助程序员编写模块化代码.您可以在一些小且易于管理的功能划分大程序. 像任何其他高级编程语言,JavaScript支持所有必要写模块化的代码使用函数的特点. 一定见过这样 alert() 和write()在前面的章节功能.我们一次又一次地使用这些功能,但它们已经写在核心JavaScript只有一次. JavaScript允许我们写自己的函数,以及本节将介绍如何编写自己的函数在JavaScript.

WEB开发者必备的7个JavaScript函数

防止高频调用的debounce函数 这个 debounce 函数对于那些执行事件驱动的任务来说是必不可少的提高性能的函数.如果你在使用scroll, resize, key*等事件触发执行任务时不使用降频函数,也行你就犯了重大的错误.下面这个降频函数 debounce 能让你的代码变的高效: // 返回一个函数,that, as long as it continues to be invoked, will not // be triggered. The function will be c

初步认识JavaScript函数库jQuery_jquery

jQuery 库可以通过一行简单的标记被添加到网页中.jQuery 库 - 特性 jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性:     HTML 元素选取     HTML 元素操作     CSS 操作     HTML 事件函数     JavaScript 特效和动画     HTML DOM 遍历和修改     AJAX     Utilities 向您的页面添加 jQuery 库 jQuery 库位于一个 JavaScript 文件中,其中包含了

JavaScript函数的定义和调用学习笔记

JavaScript函数的定义 函数的定义使用关键字 function,语法如下: function funcName ([parameters]){     statements;     [return表达式;] } 函数各部分的含义: •funcName为函数名.函数名可由开发者自行定义,与变量的命名规则相同. •parameters为函数的参数.在调用函数时,需将实际数据传递给参数列表以完成函数的特定功能.参数列表中可定义一个或多个参数,多个参数用逗号" , "分开,当然,参数

JavaScript 函数的执行过程_javascript技巧

1. 每一个JavaScript函数都是Function对象的一个实例, 它有一个仅供JavaScript引擎存取的内部属性[[Scope]]. 这个[[Scope]]存储着一个作用域的集合, 这个集合就叫"作用域链", 集合中存储着"可变对象"VO或"活动对象"AO(AO比VO多this和arguments属性). 2. 当函数被创建后, 其父级作用域的作用域链中的所有可变对象会被加入到它的[[scope]]中(如果父作用域是全局, 那么当前函

常用Javascript函数与原型功能收藏(必看篇)_javascript技巧

如下所示: // 重复字符串 String.prototype.repeat = function(n) { return new Array(n+1).join(this); } // 替换全部 String.prototype.replaceAll = function(str1, str2) { return this.replace(new RegExp(str1, "gm"), str2); } // 清除空格 String.prototype.trim = function