简单但很实用的js手风琴效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
body,ul,li,.sfq,h3{
    margin: 0;
    padding: 0;
    list-style: none;
}
  h3{
      height: 30px;
      width: 200px;
      background-color: #00cdc5;
      text-align: center;
      line-height: 30px;
      color: #fff;

  }
        li{
            height: 30px;
            width: 200px;
            background-color: rgba(158, 123, 255, 0.26);
            color: #fff;

        }
        ul{
            overflow: hidden;
        }
    </style>
</head>
<body>
<div id="hello">
   <h3 >我在第一楼</h3>
    <ul>
         <li>good luck </li>
        <li>hello javascript</li>
        <li>hello programmer</li>
        
    </ul>
    <h3>我在第二楼</h3>
    <ul>
       <li>good luck </li>
        <li>hello javascript</li>
        <li>hello programmer</li>
    </ul>
    <h3 >我在第三楼</h3>
    <ul>
         <li>good luck </li>
        <li>hello javascript</li>
        <li>hello programmer</li>
    </ul>
</div>
<script type="text/javascript">
    function $(id) {
        return document.getElementById(id);
    }
var temph3 = $(‘hello‘).getElementsByTagName(‘h3‘); //得到h3的节点对象
    for(var i=0;i<temph3.length;i++)
    { temph3[i].onclick=function(){
            var tempnext= this.nextElementSibling;//h3下一个兄弟元素节点ul,避免指向空节点;
             if(tempnext.style.display!=‘none‘){ //如果ul没有被关闭则执行代码
                 var offsethight=tempnext.offsetHeight; //设置当前ul的可见高度
                 var setintervalid = setInterval(
                         function(){
                             offsethight=tempnext.offsetHeight;
                             tempnext.style.height=offsethight-10+‘px‘;//★逐渐关闭的时候,ul一定要overflow: hidden;
                             if(offsethight<10){  //当高度小于10时改变display的值为none,并关闭时间间隔;
                                 tempnext.style.display=‘none‘;
                                 clearInterval(setintervalid);

                             }
                         },50
                 )
             }else //如果ul处于关闭状态则执行代码
             {
                 tempnext.style.display=‘block‘;//首先设置display为可见状态
                 var offsethight=tempnext.offsetHeight;        
                 var setintvalid=setInterval(function(){
                      offsethight=tempnext.offsetHeight;
                     tempnext.style.height=offsethight+10+‘px‘;//高度加10
                     if(offsethight>=90){
                         tempnext.style.height=offsethight+‘px‘;// ★让最后停止的ul高度等于可见的高度,避免了出现空白的现象;
                         clearInterval(setintvalid);
                     }

                 },50)

             }
        }
    }

</script>
</body>
</html>

简单但很实用的js手风琴效果

时间: 2024-10-16 00:52:44

简单但很实用的js手风琴效果的相关文章

Web 开发中很实用的10个效果【附源码下载】

在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏:) 超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网

【转载】Web 开发中很实用的10个效果【附源码下载】

超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网页设计中,这种技术能够让原本平面的网页界面产生动感的立体效果.美女很养眼吧 :) 源码下载      在线演示 网页边栏过渡动画 以细微的过渡动画显示一些隐藏的侧边栏,其余的内容也是.通常侧边栏滑入,把其他内容推

Web 开发中很实用的10个效果

在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏! 超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是

很实用的js限制不让输入其他字符,只让输入数字和 js生成UUID

onkeyup="this.value=this.value.replace(/\D/g,'')" js生产UUID 1 var createUUID = (function (uuidRegEx, uuidReplacer) { 2 return function () { 3 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(uuidRegEx, uuidReplacer).toUpperCase();

Aurelia – 模块化,简单,可测试的 JS 框架

Aurelia 是下一代 JavaScript 客户端框架,利用简单的约定来激发你的创造力.凭借其强大的专注于开发经验, Aurelia 可以使您不仅创造惊人的应用程序,同时也享受这个过程.它经过精心设计,是可插拔和可定制的. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富

基于 jQuery 实现垂直滑动的手风琴效果

今天我们要与大家分享一个漂亮而灵活的垂直 jQuery 手风琴效果.其主要思想是扩大手风琴片上的点击和显示更多的信息.其他内容片段将变得不那么透明.当使用一个导航箭头导航下一个片段,新的片会从顶部或底部滑动. 效果演示     插件下载 HTML 示例代码: <div id="va-accordion" class="va-container"> <div class="va-nav"> <span class=&q

网页设计中手风琴效果的20个最佳实践

在这篇文章中,分享一组网页设计中手风琴效果的20个最佳实践.当你想在有限的页面空间内展示多个内容片段的时候,手风琴(Accordion)效果就显得非常有用,它可以帮助你以对用户非常友好的方式实现多个内容片段之间的切换. 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQuery 动画插件 十分惊艳的8个 HTML5 & JavaScript 特效

使用 jQuery &amp; CSS3 实现优雅的手风琴效果

手风琴效果常用于切换显示一组内容,这种方式既可以节省网页空间又可以有动画效果.今天,我们将创造一个优雅的手风琴内容效果.这个想法是有悬停时滑出一些垂直手风琴标签.我们将添加一些 CSS3 属性来提升外观. 效果演示     插件下载 HTML示例代码: <ul class="accordion" id="accordion"> <li class="bg1"> <div class="heading&quo

分享15款很实用的 Sass 和 Compass 工具

Sass 是 CSS 的扩展,增加了嵌套规则,变量,混入功能等很多更多.它简化了组织和维护 CSS 代码的成本.Compass 是一个开源的 CSS 框架,使得使用 CSS3 和流行的设计模式比以往任何时候都更容易. 在这篇文章中,我们已经收集了一组有用的 Sass 和 Compass 工具,将帮助您快速构建 Web 应用程序. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScri