问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js问题,鼠标点击显示div内容,再点击隐藏,两个div切换有中断。

发布网友 发布时间:2022-04-23 09:57

我来回答

2个回答

热心网友 时间:2022-04-25 14:57

你是用一个变量"i"来保存两个"变换"的状态。。。当然会有问题。

你应该实现点击当前元素,则当前元素切换,另一个反切换,对吧?
如果是这样,也就是说function里面需要取到两类元素,一个是当前的,一个是除当前外的。
当前的你已经传进来,除当前外的就要看你如何处理了。
以下是步骤:
1.先建立一个“变换”与"详细显示"的Mapping.
2.function中需要通过当前元素的状态来决定如何显示.

结果如下:
var mapping = [
{‘变换':'menu20','详细显示':'con_menu_20','类型':'menu'},
{‘变换':'menu21','详细显示':'con_menu_21','类型':'menu'}
];
function find同类型非当前详细显示(当前变换,类型){
var resultArr = [];
for(var i=0;i<mapping.length;i++){
if(mapping[i].类型 == 类型 && mapping[i].变换 == 当前变换){
result.push(mappingp[i].详细显示);
}
}
return resultArr;
}
function find详细显示(变换){
for(var i=0;i<mapping.length;i++){
if(mapping[i].变换 == 变换){
return mapping[i].详细显示;
}
}
return null;
}
function get变换(name,cursel){
return name + cursel;
}
function get类型(name){
return name;
}
function change(name,cursel){
var 当前变换 = get变换(name,cursel);
var 当前详细显示 = find详细显示(变换);
var 同类非当前显示集合 = find同类型非当前详细显示(当前变换,get类型(name));
--处理当前
var menu=document.getElementById(当前详细显示);
menu.style.display=(menu.style.display=='none'?'':'none');
--处理非当前
for(var i=0;i<同类非当前显示集合.length;i++){
var noCurrentMenu = document.getElementById(同类非当前显示集合[i]);
noCurrentMenu.style.display=(noCurrentMenu.style.display=='none'?'':'none');
}
}

这儿有两个问题需要说明:
1,初始设定
2,mapping来源

初始设定要正确,你可以在html就设定好,也可以写一个init的function来初始化。建议用js初始化。
mapping来源一定是个全局变量,俨然看成单例集合,内容的来源请根据页面结构可通过js动态配置。追问回答的有点多。我其实是有很多的,几十个那么多。。。能给点详细写法吗

追答我敢打赌,你肯定没看完,看完了还会问“很多”这样的问题?

热心网友 时间:2022-04-25 16:15

var lastCursel = -1;
function change(name,cursel){
var menu=document.getElementById("con_"+name+"_"+cursel);
if (menu.style.display == "")
{
menu.style.display = "none";
}
else
{
menu.style.display = "";
}
if (lastCursel>=0 && lastCursel != cursel)
{
var lastmenu=document.getElementById("con_"+name+"_"+lastCursel);
lastmenu.style.display = "none";
}
lastCursel = cursel;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿童散学归来早描述的是什么季节(儿童散学归来早描写的是什么季节) 超级死神进化论章节目录 我们没有忘记读后感458字作文 贷15万贷10年每月还多少钱 15万10年贷款月供多少 15万贷10年月供多少钱 15万贷款10年一月多少钱 贷款15万10年每月还多少 在银行贷款15万十年还清想知道利息和月供……(还望亲们提供的的2013年... 今天去刷qq空间 看到了一个同学的头像 说明他发了说说 可是怎么刷新... ...的箭头时可以变换下面的div(一共三个div) 切换div 我要在移动端上实现点击切换div 怎么做? 华为pot-al00a可以更新鸿蒙吗? js 鼠标经过时切换div的内容,如何实现 华为stk一al00和POT一AL00a哪个好? 点击按钮显示div内容在点击按钮显示另一个div内容用JS怎么写 div按钮 点击切换下一条和上一条 枸杞干吃和泡水的区别在哪里?哪种吃法更能被吸收? 枸杞泡水吃好还是干吃好 怎么用js实现这种div的切换,点击导航上的每一个标题,内容的div会... javascript点击按钮来回切换div 枸杞泡水喝,还是干嚼吃最好 javascript如何实现div中内容替换? 枸杞泡水好还是直接干吃好? ASP.NET 点击切换DIV内容 枸杞是养生食物,那究竟是干吃好还是泡水好呢? jquery怎样实现点击按钮切换div 凯迪拉克CT6这款车怎么样? 我有4个div,里面有不同的文字。现要点击上一页下一页来切换这4个不同的div,如何实现? 枸杞是直接干吃,还是泡水喝好 华为POT-AL00a怎么打开OTG功能? 怎么点击一个div改变另一个div的样式,再点击变回来? js点击菜单切换内容 荣耀magic3和华为mate40能共用手机壳吗? 请问华为POT-AL00a怎么录屏? 华为也推Mate40牛年限量壳,为何厂商越来越重视过年? 最近刚分期入手华为Mate40 Rro手机,大家有什么比较好的防摔手机壳推荐嘛? 华为POT-AL00为什么没有OT? 大家好啊!请问下微信群里面加人,每天最多可以加多少人? 华为mate四十和40e手机壳通用吗 华为pot-al00现在能不能尝鲜鸿蒙? 华为Mate40或推出3个版本,手机壳曝光,你更期待哪一款呢? 华为mate40pro自带壳不匹配 右耳朵嗡嗡响怎么回事? 华为手机mate40pro换个后壳多少钱? 我的右耳朵有时嗡嗡响,间歇性的,但也能听见.是怎么回事情啊? 最近老感觉右耳朵里有嗡嗡的声响,跟别人说话时,听不清楚,嗡嗡响,耳朵... mate40和mate40e的手机壳一样吗? 模板安装验收规范及标准 右耳嗡嗡响怎么缓解