js的惰性函数

(17) 2023-12-12 21:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说js的惰性函数,希望能够帮助你!!!。

无处安放的心灵,每次增删改查都是设置四个函数,使用惰性函数,一个函数几个判断就能解决这个问题

//展示内容,这里有个不严谨不应该用数据库id号展示为序号

function selectMysql() {

let ajx = new XMLHttpRequest();

let url = 'http://127.0.0.1:8000/index_fontsize';

ajx.open('GET', url, true);

ajx.onreadystatechange = function () {

if (ajx.readyState == 4) {

if (ajx.status == 200) {

let table = document.getElementById('table01');

for (let i = 0; i < JSON.parse(ajx.responseText)['data'].length; i++) {

let tr = document.createElement('tr');

let td1 = document.createElement('td');

let td2 = document.createElement('td');

let td3 = document.createElement('td');

let td4 = document.createElement('td');

let td5 = document.createElement('td');

let td6 = document.createElement('td');

table.appendChild(tr);

tr.appendChild(td1);

tr.appendChild(td2);

tr.appendChild(td3);

tr.appendChild(td4);

tr.appendChild(td5);

tr.appendChild(td6);

td1.innerText = JSON.parse(ajx.responseText)['data'][i].id;

td2.innerText = JSON.parse(ajx.responseText)['data'][i].name;

td3.innerText = JSON.parse(ajx.responseText)['data'][i].color;

td4.innerText = '查询';

td4.style.background = 'blue';

td4.style.cursor = 'pointer';

td4.id = i + 1;

td5.innerText = '修改';

td5.style.background = 'orange';

td5.style.cursor = 'pointer';

td5.id = i + 1;

td6.innerText = '删除';

td6.style.background = 'red';

td6.style.cursor = 'pointer';

td6.id = i + 1;

}

}

}

}

ajx.send();

}

//惰性函数的方式查询、修改、删除

document.getElementById('table01').addEventListener('click', function (e) {

let ajx = new XMLHttpRequest();

let url = 'http://127.0.0.1:8000/index_fontsize_select'

if (e.target.innerText == '查询') {

data = {

id:e.target.id,

},

ajx.open('POST', url, true);

ajx.onreadystatechange = function () {

if (ajx.readyState == 4) {

if (ajx.status == 200) {

window.confirm('序号:'+JSON.parse(ajx.responseText)['data'][0].id+'\n'+'颜色:'+

JSON.parse(ajx.responseText)['data'][0].name+'\n'+'英文:'+

JSON.parse(ajx.responseText)['data'][0].color)

}

}

}

ajx.send(JSON.stringify(data));

}else if(e.target.innerText == '修改'){

let name;

let color;

let url = 'http://127.0.0.1:8000/index_fontsize_select'

data = {

id:e.target.id,

},

ajx.open('POST', url, false);

ajx.onreadystatechange = function () {

if (ajx.readyState == 4) {

if (ajx.status == 200) {

name = window.prompt('内容',JSON.parse(ajx.responseText)['data'][0].name)

color = window.prompt('英文',JSON.parse(ajx.responseText)['data'][0].color)

}

}

}

ajx.send(JSON.stringify(data));

let url1 = 'http://127.0.0.1:8000/index_fontsize_update';

data={

id:e.target.id,

name:name,

color:color

}

ajx.open('POST',url1,true);

ajx.onreadystatechange = function(){

if(ajx.readyState == 4){

if(ajx.status == 200){

console.log(JSON.parse(ajx.responseText))

location.reload();

}

}

}

ajx.send(JSON.stringify(data))

}else{//删除

let url = 'http://127.0.0.1:8000/index_fontsize_delete'

data = {

id:e.target.id,

},

ajx.open('POST', url, true);

ajx.onreadystatechange = function () {

if (ajx.readyState == 4) {

if (ajx.status == 200) {

alert('删除成功');

location.reload();

}

}

}

ajx.send(JSON.stringify(data));

}

})

//展示在提示框中的内容,数据库标注为未读的全部展示在这里,这里没有进行判断只是有这个想法

function divSelect(){

let ajx = new XMLHttpRequest();

let url = 'http://127.0.0.1:8000/index_fontsize';

ajx.open('GET', url, true);

ajx.onreadystatechange = function () {

if (ajx.readyState == 4) {

if (ajx.status == 200) {

let div = document.getElementById('div02');

let ul = document.createElement('ul');

ul.style.listStyle = 'none';

div.appendChild(ul);

for(let i=0;i<JSON.parse(ajx.responseText)['data'].length;i++){

let li = document.createElement('li');

ul.appendChild(li);

li.innerText = JSON.parse(ajx.responseText)['data'][i].id+'、'+JSON.parse(ajx.responseText)['data'][i].name

}

}

}

}

ajx.send();

}

//展示的提示的div关闭

function timerSelect(){

let div = document.getElementById('div02');

div.style.opacity = 0;

}

//展示为提示的div打开

function timerMysql(){

let div = document.getElementById('div02');

div.style.opacity = 1;

}

//每个两秒关闭

setInterval(timerSelect,2000);

//每个10秒打开

setInterval(timerMysql,10000);

selectMysql();//初始化函数

divSelect();//初始化函数

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复