只在点击按钮时启动功能?(javascript)
Only starting a function on button click?(javascript)
如何为函数制作启动按钮?我的页面上有9个不同的动画功能。我需要弄清楚如何只在点击按钮(启动按钮(时执行动画。我之所以想这样做,是因为我正在制作一个简单的游戏,但我希望最终用户能够在游戏开始前与游戏元素进行交互(我已经用jQuery完成了这项工作,但目前我只能在游戏运行时移动元素,这不是我想做的。(动画功能的一个快速示例是
function animate0(pos) {
pos %= urls.length;
var animation0 = document.getElementById('animation0');
var counter = document.getElementById('counter');
animation0.src = urls[pos];
if (pos == 1) {
animation0.onclick = function() {
counter.innerHTML = parseInt(counter.innerHTML) + 1;
}
}
else {
animation0.onclick = function() {
//do nothing
}
}
setTimeout(function() {
animate0(++pos);
}, (Math.random()*500) + 1000);
}
然后为了执行动画,我使用这个
window.onload = function() { //Frames go below, seperated by commas format= , "URL");
urls = new Array("http://i51.tinypic.com/sxheeo.gif", "http://i56.tinypic.com/2i3tyw.gif");
animate0(0);
要在页面上显示动画,
<img id='animation0' src ='http://i51.tinypic.com/sxheeo.gif'/>
谢谢!
document.getElementById('start').onclick = function(){
animate0(0);
}
这是假设您有一个具有id='start'
的元素
这是一把小提琴:http://jsfiddle.net/maniator/TQqJ8/13/
我想我可能误解了你的问题,但如果你有这个按钮(或者实际上只是任何其他元素(:
<input type="button" id="theButton" value="Click Me">
然后,您可以通过以下任意一种方式为其click
事件挂接一个处理程序。
最简单但功能最差的是DOM0风格:
document.getElementById("theButton").onclick = function() { animate0(0); return false; };
DOM0处理程序的问题在于,每个元素上只能有一个处理程序/事件类型。
DOM2风格,在基于标准的浏览器上看起来像这样:
document.getElementById("theButton").addEventListener('click', function(event) { event.preventDefault(); animate0(0); }, false);
在旧的IE上看起来是这样的:
document.getElementById("theButton").attachEvent('onclick', function() { animate0(0); return false; });
请注意不同之处,事件名称在DOM2标准中是"click",在Microsoft中是"onclick",event
对象在DOM2标准的第一个参数中传递,但在Microsoft的旧浏览器中它是一个全局变量(我没有使用(。(并不是说微软,在IE5-IE6的时间框架内,他们做了很多来创新web浏览器,包括ajax、innerHTML
,事实上,通过attachEvent
每个元素的每个事件有多个处理程序,这早于DOM2标准。只是在IE6之后的,他们才让球落下…嗯…十多年了。(
在所有这些情况下,我都直接调用animate0
,因为它执行第一个循环,然后自己调度下一个比特。当然,您可以使用setTimeout
来调度甚至第一个比特是异步的(可能只使用0
的延迟,在大多数浏览器上是5-10毫秒(。这取决于你想做什么。
- JavaScript打印功能使日历停止工作
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- javascript函数访问ios本机功能
- 可以'选择单选输入时,不要提交带有JavaScript功能的表单
- 如何在Javascript中实现剪切、复制和粘贴功能
- JavaScript(Underscore.js)扩展功能
- 如何使用javascript/jquery更改转义键的功能
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 交互2个单选按钮2个不同的功能Javascript
- 如果选中单选按钮,如何转到另一个功能?(Javascript)
- 开始按钮用于启用和恢复动画,而无需在双击时再次重复该功能(javascript)
- 多功能 javascript 停止其他如果警报取消
- 将文本拆分为一些粗体和一些不在功能Javascript片段上
- 如何克隆/复制元素以保持其功能javascript
- 如何访问不同控制器的功能?-JavaScript MVC
- Battleship中的船舶碰撞功能(Javascript)
- 使功能javascript货币转换器
- 自动补全不是一个功能"Javascript错误
- 只在点击按钮时启动功能?(javascript)