gpt4 book ai didi

javascript - 如何使用函数将数组添加到参数?

转载 作者:行者123 更新时间:2023-11-27 23:50:13 25 4
gpt4 key购买 nike

我是编程的新手,我想知道是否有人可以帮助我。

我正在尝试制作一个弹出页面。我为每个点击区域设置变量,我用 div 设置每个区域并用 css 放置。同样对于每个弹出图像,我将 div id 放在 html 上的每个图像上,并在 css 上设置 display = "none"。我想制作一个在触摸端显示一张图片并同时隐藏其他图片的功能。

你能帮我写代码吗?

var pop = new Array("pop1","pop2","pop3","pop4","pop5","pop6");    
var clickArea = new Array("click1","click2","click3","click4","click5","click6");
function diplay(click,show,hide){
click.addEventListner("touchend",function(){
show.style.display = "block";
hide.style.display = "none";
});
};
display("click[0]","pop[0]","pop[1,2,3,4,5]");

最佳答案

您的代码存在一些不同的问题。

  1. 您在调用display 时使用了字符串而不是实际的代码结构引用。我明白你的意思是让这些引用元素 id,但你必须首先使用 document.getElementById(...) 或 jQuery 的 $ 获取元素("#...").
  2. popclickArea 数组中,您使用了没有.style 对象的字符串。您需要引用元素本身。
  3. 您的代码结构不是为处理数组而设计的。
  4. 您需要定义addEventListener 之前您需要调用函数处理程序。你不想每次都这样。
  5. display 函数中的 click 参数是多余的,因为它从未被调用过。
  6. 您正在使用 jQuery。你应该说明这一点! (但你被原谅了):)
  7. 您不能使用语法 arrayName[#,#,#] 访问数组。
  8. 你拼错了“display”。哎呀!
  9. 数组是多余的,因为代码需要重构。

首先,为了解决第 4 点,我们需要在 DOM 完成加载时运行此代码:

var clickArea = new Array("click1","click2","click3","click4","click5","click6");
clickArea.each(function(id){
$("#"+id)[0].addEventListener("touchend", display);
});

接下来,我们需要解决您的代码存在的问题。它们在上面有解释。

var pop = new Array("pop1","pop2","pop3","pop4","pop5","pop6");
function display(event){
var indx = Number(event.target.id.split(/\D/i).join(""));
$("#pop"+indx)[0].style.display = "block";
pop.each(function(ide) {
if (ide.split(/\D/i).join("") != indx-1) {
$("#"+ide)[0].style.display = "none";
}
});
};

否则,干得好!我们所有人都是这样开始的,相信你!继续努力吧!附言您可以像这样设置数组 [ ? , ? , ? , ? ] 而不是这个 new Array( ? , ? , ? , ? )

关于javascript - 如何使用函数将数组添加到参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27761828/

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