久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 關于函數調用的問題,點擊事件的循環體不能循環這四個函數,但是用alert測試過循環體能循環。

瀏覽:82日期:2023-03-13 14:21:53

問題描述

點擊事件單獨調用每一個函數都沒問題,但是寫上循環體之后就不行了。函數單獨來說沒問題,我都是寫一個測試一個,然后點擊事件單獨的函數也能顯示但是有循環體就有問題了。<!DOCTYPE html><html lang='en'><head>

<meta charset='UTF-8'><title>Title</title><style> *{padding:0;margin: 0;} #btn{position: absolute;top:0;left:300px;} p{width: 50px;height:50px;position: absolute;top:0;left:0;background:green;font-size: 30px; text-align:center;color:red;line-height: 50px;cursor: pointer;}</style><script> window.onload=function () {var btn = document.getElementById('btn');var op = document.getElementsByTagName('p');function first() { { // btn.style.display = 'none';for (var i = 0; i < 5; i++) { document.body.innerHTML += ’<p>’ + i + ’</p>’;}for (i = 0; i < op.length; i++) { //op[i].index = i; if (i > op.length / 2) {op[i].style.left = i * 60 + 'px';op[i].style.top = (i - parseInt(op.length / 2)) * 60 + 'px'; } else { // alert(i);op[i].style.top = (parseInt(op.length / 2) - i) * 60 + 'px';op[i].style.left = i * 60 + 'px'; }} }}function second() { // btn.style.display='none'; for (var i = 0; i < 5; i++) { document.box2.innerHTML += ’<p id='box'>’ + i + ’</p>’; } for ( i = 0; i < op.length; i++) {//op[i].index = i;if(i>op.length/2){ op[i].style.left = (op.length-i -1)* 60 + 'px'; op[i].style.top=i*60+'px';}else { // alert( i); op[i].style.top = i* 60 + 'px'; op[i].style.left = i * 60 + 'px';} }}function three() {//btn.style.display = 'none';for (var i = 0; i < 5; i++) { document.body.innerHTML += ’<p>’ + i + ’</p>’;}for (i = 0; i < op.length; i++) { //op[i].index = i; if (i > op.length / 2) {op[i].style.left = (i - parseInt(op.length / 2)) * 60 + 'px';op[i].style.top = i * 60 + 'px'; } else {// alert( i);op[i].style.top = i * 60 + 'px';op[i].style.left = ( parseInt(op.length / 2) - i) * 60 + 'px'; }} }function four() { //btn.style.display='none'; for (var i = 0; i < 5; i++) {document.body.innerHTML += ’<p>’ + i +’</p>’; } for ( i = 0; i < op.length; i++) {op[i].index = i;if(i>op.length/2){ op[i].style.left = i * 60 + 'px'; op[i].style.top=(op.length-i-1)*60+'px';}else { op[i].style.top = i * 60 + 'px'; op[i].style.left = i * 60 + 'px';} }}var k=0;btn.onclick = function () { //if(k==0){alert(1)} if(k==0){first()} if(k==1){second()} if(k==2){three()} if(k==3){four()} k++; // first(); //second(); //three(); //four();} };</script>

</head><body><input type='button' value='點擊生成li'/></body></html>

問題解答

回答1:

document.body.innerHTML += ’<p>’ + i + ’</p>’;這一句導致的,因為你重新innerHTML之后,之前綁定的onclick沒有了,所有其實就執行一次k==0的情況而已

標簽: JavaScript
主站蜘蛛池模板: 漾濞| 华宁县| 吉木乃县| 翁牛特旗| 恩平市| 高碑店市| 东港市| 温宿县| 武威市| 林州市| 东城区| 株洲市| 拜城县| 浦城县| 修文县| 大名县| 巩义市| 曲水县| 海兴县| 沁阳市| 雅安市| 长阳| 平遥县| 连江县| 五大连池市| 博野县| 西和县| 广灵县| 利辛县| 双桥区| 岳池县| 开封市| 洪泽县| 阿拉善左旗| 清流县| 柞水县| 尉氏县| 甘德县| 康定县| 怀仁县| 公安县|