当前位置:首页 > 网站应用 > 正文内容

div+css+js实现菜单的收缩与展开,适合问答

cjw1232年前 (2023-11-01)网站应用2660
<html>
<head>
<title>div+css+js实现菜单的收缩与展开</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
 margin: 30px auto;
}
ul {
 list-style: none;
}
#faq {
 font-size: 12px;
 width: 800px;
}
#faq li {
 margin: 0 0 10px;
 padding: 0 0 5px;
}
#faq dl {
 margin: 0;
 padding:0;
 display:inline;
}
#faq dt {
 font-weight:bold;
 cursor:pointer;
 line-height: 20px;
 padding: 0 0 5px 22px;
 border-bottom:1px #ccc dotted;
}
#faq dd {
 display:none;
 margin:0;
 padding: 5px 0 5px 20px;
 background:#E5ECF9;
 line-height: 180%;
}
</style>
<script type="text/javascript">
var lastFaqClick=null;
window.onload=function(){
  var faq=document.getElementById("faq");
  var dls=faq.getElementsByTagName("dl");
  for (var i=0,dl;dl=dls[i];i++){
    var dt=dl.getElementsByTagName("dt")[0];//取得标题
     dt.id = "faq_dt_"+(Math.random()*100);
     dt.onclick=function(){
       var p=this.parentNode;//取得父节点
        if (lastFaqClick!=null&&lastFaqClick.id!=this.id){
          var dds=lastFaqClick.parentNode.getElementsByTagName("dd");
          for (var i=0,dd;dd=dds[i];i++)
            dd.style.display='none';
        }
        lastFaqClick=this;
        var dds=p.getElementsByTagName("dd");//取得对应子节点,也就是说明部分
        var tmpDisplay='none';
        if (gs(dds[0],'display')=='none')
          tmpDisplay='block';
        for (var i=0;i<dds.length;i++)
          dds[i].style.display=tmpDisplay;
      }
  }
}

function gs(d,a){
  if (d.currentStyle){
    var curVal=d.currentStyle[a]
  }else{
    var curVal=document.defaultView.getComputedStyle(d, null)[a]
  }
  return curVal;
}
</script>
</head>
<body>
<ul id="faq">
  <li>
    <dl>
      <dt>JQuery InnerFade</dt>
      <dd>JQuery InnerFade 是一款专业用来在网页上显示淡入淡出效果的插件,可以下载到原版,它可完成图片与图片、文字与文字、网页与广告的渐显效果,同时使用方法简便,官方示例文件已附加进压缩包,使用本特效,可增加你网页的生动性,避免死板,让用户获得更好的用户体验。。</dd>
    </dl>
  </li>
   <li>
    <dl>
      <dt>开源相册图片直读版</dt>
      <dd>Dynamic Flash Gallery 开源相册图片直读版,运行于PHP环境,使用时只需设定图片目录,相册会自动读取目录中的图片,然后将图片组织起来,并生成一个带滑块浏览功能的相册。</dd>
    </dl>
  </li>
 <li>
    <dl>
      <dt>AjAX是什么?</dt>
      <dd>一种能够提升用户体验的WEB2.0新型技术,可以实现像电脑系统一样的操作体验,类似本地化的一种脚本技术。</dd>
    </dl>
  </li>
 </ul>
</body>
</html>


扫描二维码推送至手机访问。

版权声明:本文由追求完美发布,如需转载请注明出处。

本文链接:https://cjw123.com/blog/?id=56

标签: htmlJScss
分享给朋友:

相关文章

html meta标签屏蔽搜索引擎的用法

html页面中的 meta 标签可以用来识别搜索引擎的蜘蛛类型,可以规定meta标签所在的html页面是否被蜘蛛抓取,下面是这个meta标签的用法,大家可以借鉴一下。搜索引擎的 meta 标签的解析下面是meta标签对搜索引擎的解析<meta name='robot...

js弹出居中窗口特效

<html> <head> <title>弹出窗口效果</title> <style> .black_overlay{display:none;position:absolute;top:0%;left:0%;width:100%;...

仿win10系统蓝屏的404页面

<!doctype html>     <html>     <head>     <meta charset=...

纯CSS实现侧边栏浮动在线客服效果

很多人一般在网页的侧边会选择放一个悬浮的在线客服,方便意向客户的联系,网上随便一搜也会有很多代码提供,但是大多都是JS书写的,并且夹带着一些图片素材乱七八糟的东西,用起来很不方便。今天我们就教给大家一个纯css书写的在线客服效果首先我们有如下html结构<div class=&quo...

google谷歌翻译镜像网站

查找外文资料对于外语不好的那必须要借助翻译工具,各家翻译工具各有不同,想要使用google谷歌翻译,奈何无法访问,那么如何在国内使用谷歌翻译?google谷歌翻译镜像网站有哪些?https://translate.yunkuerp.cn/https://translate.renwole.com/h...

网站设置点击任何地方弹出新页面广告只弹出一次

1、js实现第一次访问站时点击任何地方都先弹出一个广告页:<script> document.onmousedown = function(){     var isOpenedAd  =&nb...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。