gpt4 book ai didi

javascript - 在 JavaScript 代码中传递新参数以定位 HTML 属性

转载 作者:行者123 更新时间:2023-11-28 05:00:14 24 4
gpt4 key购买 nike

我目前已经创建了一段 Javascript 代码,用于检查 HTTP 响应,如果是成功的 200 代码,则交通灯显示绿色,如果不是 200 代码,则交通灯闪烁红色。

我目前的问题是我希望能够像这样将两个参数传递给初始化函数

requestResponses.init('/status', "ATTR");

第一个属性是我要测试的 URL,第二个属性是我创建的 HTML data-request 属性的值。

我这样做的原因是我希望在同一页面上有多个红绿灯同时针对不同的 URL,而不互相影响。

例如,我创建一个数据请求属性并为其赋予值,然后我希望能够像这样连接它

requestResponses.init('/status', "Four");

并开始在代码中定位如下元素。这使得它更加模块化和可重用。

.cp_trafficLight[data-request="Four"]

请找到我所附的代码和一个工作的 JSFiddle。

    var requestResponses = {

greenLight: $('.cp_trafficLight_Light--greenDimmed'),
redLight: $('.cp_trafficLight_Light--redDimmed'),
greenBright: 'cp_trafficLight_Light--greenBright',
redBright: 'cp_trafficLight_Light--redBright',

settings: {
flashError: 400,
requestTime: 10000
},

init: function (url, targAttr) {
requestResponses.url = url;
requestResponses.getResponse(requestResponses.url, targAttr);
setInterval(function () {
if (requestResponses.errorCode === true) {
requestResponses.redLight.toggleClass(requestResponses.redBright);
}
}, requestResponses.settings.flashError);
},

successResponse: function (targAttr) {
requestResponses.errorCode = false;
requestResponses.redLight.removeClass(requestResponses.redBright);
requestResponses.greenLight.addClass(requestResponses.greenBright);
console.log(targAttr);
},

errorResponse: function (targAttr) {
requestResponses.greenLight.removeClass(requestResponses.greenBright);
},

getResponse: function (serverURL, targAttr) {
$.ajax(serverURL, {
success: function () {
requestResponses.errorCode = false;
requestResponses.successResponse(targAttr);
},
error: function () {
requestResponses.errorCode = true;
requestResponses.errorResponse(targAttr);
},
complete: function () {
setTimeout(function () {
requestResponses.getResponse(requestResponses.url);
}, requestResponses.settings.requestTime);
}
});
},

errorCode: false
}

requestResponses.init('/status', "TEST");

https://jsfiddle.net/8700h582/

最佳答案

然后在您的函数中包含第二个参数,以逗号分隔。

function foo(param1, param2) {

//Do something.

};

foo("1st", "2nd");

编辑我现在看到您的 init 中包含了灯光的第二个参数,并在 init 函数中将第二个参数传递给您的请求,然后从那里将其传递给您的错误和响应函数。然后返回该函数。这可以保存在 var 中。

关于javascript - 在 JavaScript 代码中传递新参数以定位 HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com