js点击一个div控制另一个div内容的显示与隐藏同时小图标也要切换状态,页面有好几个这样的div。

左边图是我要的效果,右边图只是我随便写的一个demo,哪位大神能把效果实现啊。效果:内容默认显示,点击标题栏内容隐藏的同时箭头状态也要切换。用js写。不能用插件... 左边图是我要的效果,右边图只是我随便写的一个demo,哪位大神能把效果实现啊。效果:内容默认显示,点击标题栏内容隐藏的同时箭头状态也要切换。用js写。不能用插件 展开
 我来答
网海1书生
科技发烧友

2018-11-28 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
<link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<style>
.menu {width:300px; height:48px; line-height:48px; text-align:right; background-color:#eef}
.menu i {margin:0 4px}
.detail {width:300px; border:1px solid #ddf}
</style>
<div class="menu">显示/隐藏<i class="fa fa-edit"></i><i class="fa fa-chevron-circle-down"></i></div>
<div class="detail">
   <div>详情1行</div>
   <div>详情2行</div>
   <div>详情3行</div>
</div>
<div class="menu">显示/隐藏<i class="fa fa-edit"></i><i class="fa fa-chevron-circle-down"></i></div>
<div class="detail">
   <div>详情1行</div>
   <div>详情2行</div>
   <div>详情3行</div>
</div>
<div class="menu">显示/隐藏<i class="fa fa-edit"></i><i class="fa fa-chevron-circle-down"></i></div>
<div class="detail">
   <div>详情1行</div>
   <div>详情2行</div>
   <div>详情3行</div>
</div>
<div class="menu">显示/隐藏<i class="fa fa-edit"></i><i class="fa fa-chevron-circle-down"></i></div>
<div class="detail">
   <div>详情1行</div>
   <div>详情2行</div>
   <div>详情3行</div>
</div>
<script>
window.onload=function(){
   var menus=document.querySelectorAll("div.menu");
   var details=document.querySelectorAll("div.detail");
   for(var i=0;i<menus.length;i++){
      details[i].style.display="none";
      menus[i].id=i;
      menus[i].onclick=function(){
         if(details[this.id].style.display=="none"){
            details[this.id].style.display="block";
            this.querySelector("i:nth-of-type(2)").className="fa fa-chevron-circle-up";
         }else{
            details[this.id].style.display="none";
            this.querySelector("i:nth-of-type(2)").className="fa fa-chevron-circle-down";
         }
      }
   }
}
</script>
y10698
2018-11-20 · TA获得超过242个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:118万
展开全部
1,onclick获取点击的div元素onclick="xxxx(this)"
2,通过点击div与需要操控的div相对位置,过去需要操控的div,如obj.getElementsByTagName("div");
3,对这些div进行直接的操作。div.style.visibility="hidden"或者div.style.display="none" 这些看你的具体需求。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卖小红帽的火柴
2018-11-23 · 卖小红帽的火柴
卖小红帽的火柴
采纳数:3 获赞数:6

向TA提问 私信TA
展开全部
你的id重复了,id唯一,试试class吧
追问
class好像就没效果了。
追答
var d = document.getElementsByClassName("detail");
你要用这个获取元素
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式