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

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

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

瀏覽:89日期: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
主站蜘蛛池模板: 镇沅| 社会| 湖北省| 彭泽县| 无极县| 宾川县| 交城县| 会昌县| 金寨县| 启东市| 天峻县| 剑河县| 宁海县| 盐津县| 康平县| 察隅县| 普兰店市| 大埔区| 长宁区| 漯河市| 疏附县| 赤峰市| 芜湖市| 永丰县| 伊金霍洛旗| 翼城县| 大安市| 泾川县| 阳曲县| 东辽县| 同德县| 弥渡县| 勐海县| 成都市| 诏安县| 彩票| 南川市| 隆安县| 格尔木市| 普格县| 济源市|