我读了这个线程并尝试使用 Ted Hopps 方法 Function in javascript that can be called only once
但是我好像不能让它正常工作。我想通过 onclick="function()"在图像上用 JS 创建一个 div。但我只想这样做一次。
function runOnce(f){
var executed = false;
return function () {
if (!executed) {
executed = true;
return f.apply(this,arguments);
}
};
}
function rollover() {
var new1=runOnce(myfunction);
new1(1);
}
function myfunction(){
var tr1 = document.createElement("tr1");
tr1.style.width = "50%";
tr1.style.height = "100%";
tr1.style.background = "red";
tr1.style.color = "white";
tr1.style.right= "0px"
tr1.style.top= "0px"
tr1.style.padding= "2%"
tr1.style.opacity= "0.6"
tr1.style.position = "fixed";
tr1.innerHTML = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum";
document.body.appendChild(tr1);
}
我从 onclick 调用翻转功能
<img class="trans01button" onclick="rollover(1)" src="images/backgroundfragments_03.jpg" alt="Translation games" >
我的问题是它仍然多次执行函数。 我做了一个 jfiddle http://jsfiddle.net/RE3fp/在这里,但我无法在我的 Dreamweaver 版本运行时使其运行。我的意思是我什至不能让“myfunction”div 出现,而我的问题是每次我单击图像时它都会执行。
最佳答案
关于javascript - 只执行一次函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876653/