Javascript 我有几个函数做同样的事情。我如何将其全部放在一个函数中?

Javascript 我有几个函数做同样的事情。我如何将其全部放在一个函数中?,javascript,Javascript,document.getElementById(“isfine”).addEventListener(“单击”,显示); 函数showMe(e){ 设x=document.getElementById('craying') 如果(x.style.display==“无”){ x、 style.display='block' }否则{ x、 style.display='none'; } e、 预防默认值(); } document.getElementById(“我的”).addEventLis

document.getElementById(“isfine”).addEventListener(“单击”,显示);
函数showMe(e){
设x=document.getElementById('craying')
如果(x.style.display==“无”){
x、 style.display='block'
}否则{
x、 style.display='none';
}
e、 预防默认值();
}
document.getElementById(“我的”).addEventListener('click',showMe2);
函数showMe2(e){
设x=document.getElementById('英雄')
如果(x.style.display==“无”){
x、 style.display='block'
}否则{
x、 style.display='none';
}
e、 预防默认值();

}
您可以使用函数
showMe
并传入您希望作为目标的目标元素的id-这将重构为相同功能创建新函数的用法

以致

function showMe(e, target) {
  // find target
}

document.getElementById(“isfine”).addEventListener(“单击”,e=>showMe(e,“哭泣”);
document.getElementById(“我的”).addEventListener('click',e=>showMe(e,“英雄”);
函数showMe(e,目标){
设x=document.getElementById(目标);
如果(x.style.display==“无”){
x、 style.display=“block”;
}否则{
x、 style.display=“无”;
}
e、 预防默认值();
}
很好
矿
哭

heroes
您可以使用函数
showMe
并传入您希望作为目标的目标元素的id-这将重构为相同功能创建新函数的用法

以致

function showMe(e, target) {
  // find target
}

document.getElementById(“isfine”).addEventListener(“单击”,e=>showMe(e,“哭泣”);
document.getElementById(“我的”).addEventListener('click',e=>showMe(e,“英雄”);
函数showMe(e,目标){
设x=document.getElementById(目标);
如果(x.style.display==“无”){
x、 style.display=“block”;
}否则{
x、 style.display=“无”;
}
e、 预防默认值();
}
很好
矿
哭

英雄
无论何时尝试获取内容,都只关注识别逻辑块之间的差异。然后用变量替换常量,这些变量的值是通过函数参数提供的

e、 g

initToggler('trigger1','trigger1Content');
initToggler('trigger2','trigger2Content');
函数initToggler(triggerId、contentId){
const contentEl=document.getElementById(contentId);
document.getElementById(triggerId).addEventListener('click',togglerFor(contentEl));
}
功能切换(el){
return()=>el.style.display=el.style.display==='none'?'block':'none';
}
切换内容1
切换内容2
触发器1内容

trigger2内容
无论何时尝试获取内容,都只关注识别逻辑块之间的差异。然后用变量替换常量,这些变量的值是通过函数参数提供的

e、 g

initToggler('trigger1','trigger1Content');
initToggler('trigger2','trigger2Content');
函数initToggler(triggerId、contentId){
const contentEl=document.getElementById(contentId);
document.getElementById(triggerId).addEventListener('click',togglerFor(contentEl));
}
功能切换(el){
return()=>el.style.display=el.style.display==='none'?'block':'none';
}
切换内容1
切换内容2
触发器1内容

触发器2内容
我会的。不过还是有个简单的问题。当我再次单击目标时,内容将消失。在这个例子中,它很好,但是为什么不保留呢?样式
display
变为none-因此隐藏了内容-检查上面的代码片段我会的。不过还是有个简单的问题。当我再次单击目标时,内容将消失。在本例中,这很好,但为什么不保留呢?样式
显示
变为无-因此隐藏了内容-检查上面的代码段