[英]How to trigger second javascript function on same button click
I need help to trigger two functions on same button click.我需要帮助才能在单击同一按钮时触发两个功能。 As of now first function triggers and changes the targeted DOM Element values as required but when I click the same button again then it does nothing.
到目前为止,第一个 function 触发并根据需要更改目标 DOM 元素值,但是当我再次单击同一个按钮时,它什么也不做。 Please help me debug the code.
请帮我调试代码。
var btnLabel = document.querySelector("alt").innerHTML;
var currentPrice = document.querySelectorAll(".priceTag pr");
var planUrl = document.querySelectorAll(".roundedbtn");
document.querySelector(".defaultBtn").addEventListener("click", function() {
if(btnLabel === "Annual"){
currentPrice[0].innerHTML = "2020";
currentPrice[1].innerHTML = "2021";
currentPrice[2].innerHTML = "2022";
planUrl[0].href = "/checkout?level=4";
planUrl[1].href = "/checkout?level=5";
planUrl[2].href = "/checkout?level=6";
planUrl[3].href = "/checkout?level=4";
planUrl[4].href = "/checkout?level=5";
planUrl[5].href = "/checkout?level=6";
btnLabel = document.querySelector("alt").innerHTML = "Monthly";
}
})
document.querySelector(".defaultBtn").addEventListener("click", function() {
if(btnLabel === "Monthly"){
currentPrice[0].innerHTML = "49";
currentPrice[1].innerHTML = "99";
currentPrice[2].innerHTML = "169";
planUrl[0].href = "/checkout?level=1";
planUrl[1].href = "/checkout?level=2";
planUrl[2].href = "/checkout?level=3";
planUrl[3].href = "/checkout?level=1";
planUrl[4].href = "/checkout?level=2";
planUrl[5].href = "/checkout?level=3";
btnLabel = document.querySelector("alt").innerHTML = "Annual";
}
})
I tried all possible tricks as per my understanding but couldn't make it work, So need a quick help.我根据自己的理解尝试了所有可能的技巧,但无法使其发挥作用,因此需要快速帮助。
Can you show the html?你能出示 html 吗? Perhaps its a reference error.
也许它是一个参考错误。 You can add multiple 'click' listener but in this case (toggle) I think its more convenient to use one.
您可以添加多个“点击”侦听器,但在这种情况下(切换)我认为使用一个更方便。 I changed the way you get/set btnLabel:
我改变了你获取/设置 btnLabel 的方式:
var btnLabel = document.querySelector("alt").innerHTML;
var currentPrice = document.querySelectorAll(".priceTag pr");
var planUrl = document.querySelectorAll(".roundedbtn");
document.querySelector(".defaultBtn").addEventListener("click", function() {
btnLabel = document.querySelector("alt").innerHTML;
if(btnLabel === "Annual"){
currentPrice[0].innerHTML = "2020";
currentPrice[1].innerHTML = "2021";
currentPrice[2].innerHTML = "2022";
planUrl[0].href = "/checkout?level=4";
planUrl[1].href = "/checkout?level=5";
planUrl[2].href = "/checkout?level=6";
planUrl[3].href = "/checkout?level=4";
planUrl[4].href = "/checkout?level=5";
planUrl[5].href = "/checkout?level=6";
document.querySelector("alt").innerHTML = "Monthly";
} else if(btnLabel === "Monthly") {
currentPrice[0].innerHTML = "49";
currentPrice[1].innerHTML = "99";
currentPrice[2].innerHTML = "169";
planUrl[0].href = "/checkout?level=1";
planUrl[1].href = "/checkout?level=2";
planUrl[2].href = "/checkout?level=3";
planUrl[3].href = "/checkout?level=1";
planUrl[4].href = "/checkout?level=2";
planUrl[5].href = "/checkout?level=3";
document.querySelector("alt").innerHTML = "Annual";
}
})
Please try if combining both the set of statements like so is helpful:请尝试将这两组语句组合起来是否有帮助:
var btnLabel = document.querySelector("alt").innerHTML;
var currentPrice = document.querySelectorAll(".priceTag pr");
var planUrl = document.querySelectorAll(".roundedbtn");
document.querySelector(".defaultBtn").addEventListener("click", function() {
if (btnLabel === "Annual") {
currentPrice[0].innerHTML = "2020";
currentPrice[1].innerHTML = "2021";
currentPrice[2].innerHTML = "2022";
planUrl[0].href = "/checkout?level=4";
planUrl[1].href = "/checkout?level=5";
planUrl[2].href = "/checkout?level=6";
planUrl[3].href = "/checkout?level=4";
planUrl[4].href = "/checkout?level=5";
planUrl[5].href = "/checkout?level=6";
btnLabel = document.querySelector("alt").innerHTML = "Monthly";
} else if (btnLabel === "Monthly") {
currentPrice[0].innerHTML = "49";
currentPrice[1].innerHTML = "99";
currentPrice[2].innerHTML = "169";
planUrl[0].href = "/checkout?level=1";
planUrl[1].href = "/checkout?level=2";
planUrl[2].href = "/checkout?level=3";
planUrl[3].href = "/checkout?level=1";
planUrl[4].href = "/checkout?level=2";
planUrl[5].href = "/checkout?level=3";
btnLabel = document.querySelector("alt").innerHTML = "Annual";
}
})
Have you tried tucking in both conditions withing the same click event?您是否尝试过在同一个点击事件中处理两种情况? Like below.
如下图。
var btnLabel = document.querySelector("alt").innerHTML; var currentPrice = document.querySelectorAll(".priceTag pr"); var planUrl = document.querySelectorAll(".roundedbtn"); document.querySelector(".defaultBtn").addEventListener("click", function() { if(btnLabel === "Annual"){ currentPrice[0].innerHTML = "2020"; currentPrice[1].innerHTML = "2021"; currentPrice[2].innerHTML = "2022"; planUrl[0].href = "/checkout?level=4"; planUrl[1].href = "/checkout?level=5"; planUrl[2].href = "/checkout?level=6"; planUrl[3].href = "/checkout?level=4"; planUrl[4].href = "/checkout?level=5"; planUrl[5].href = "/checkout?level=6"; btnLabel = document.querySelector("alt").innerHTML = "Monthly"; }else if(btnLabel === "Monthly"){ currentPrice[0].innerHTML = "49"; currentPrice[1].innerHTML = "99"; currentPrice[2].innerHTML = "169"; planUrl[0].href = "/checkout?level=1"; planUrl[1].href = "/checkout?level=2"; planUrl[2].href = "/checkout?level=3"; planUrl[3].href = "/checkout?level=1"; planUrl[4].href = "/checkout?level=2"; planUrl[5].href = "/checkout?level=3"; btnLabel = document.querySelector("alt").innerHTML = "Annual"; } });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.