• 使用JQuery实现手风琴布局


    当鼠标在元素上悬停或移出时,可以通过JQuery的hover方法来给元素绑定两个处理方法,前者用于鼠标悬停,后者用于鼠标移出,因此根据这这特点再设置相应元素的css属性后就可以方便的实现手风琴布局,然而这样的却有个问题,即当鼠标移出时就导致内容被隐藏,示例代码如下:
    <html>
    <head>
    <title>Demo</title>
    <script language="javascript" type="text/javascript" src="jquery-2.1.3.js"></script>
    <style>
    .title
    {
    300px;
    height:25px;
    line-height:25px;
    text-align:left;
    vertical-align:center;
    border:1px solid blue;
     
    }
     
    .content
    {
    300px;
    height:100px;
    display:none;
    border:1px solid blue;
    }
    </style>
    <script type="text/javascript">
    $(function(){
    $(".title").hover(function(){
    $(this).next().css("display", "block");
    }, function(){
    $(this).next().css("display", "none");
    });
    })
    </script>
    </head>
    <body>
    <div class="title">
    title1
    </div>
    <div class="content">
    content1
    </div>
    <div class="title">
    title2
    </div>
    <div class="content">
    content2
    </div>
    <div class="title">
    title3
    </div>
    <div class="content">
    content3
    </div>
    <div class="title">
    title4
    </div>
    <div class="content">
    content4
    </div>
    </body>
    </html>
     
    鉴于使用hover实现手风琴布局的缺点,可以用另一种方式来实现更好的效果,即先定义一个select类样式,有该类样式的div的display属性为block,然后使用JQuery给发生click事件的title绑定事件处理方法,在改方法中首先移去select类,再给该titile的content添加select样式,代码如下:
    <html>
    <head>
    <title>Demo</title>
    <script language="javascript" type="text/javascript" src="jquery-2.1.3.js"></script>
    <style>
    .title
    {
    300px;
    height:25px;
    line-height:25px;
    text-align:left;
    vertical-align:center;
    border:1px solid blue;
     
    }
     
    .content
    {
    300px;
    height:100px;
    display:none;
    border:1px solid blue;
    }
     
    .display
    {
    display:block;
    }
    </style>
    <script type="text/javascript">
    $(function(){
    $(".title").click(function(){
    $(".content").removeClass("display");
    $(this).next().addClass("display");
    })
    })
    </script>
    </head>
    <body>
    <div class="title">
    title1
    </div>
    <div class="content">
    content1
    </div>
    <div class="title">
    title2
    </div>
    <div class="content">
    content2
    </div>
    <div class="title">
    title3
    </div>
    <div class="content">
    content3
    </div>
    <div class="title">
    title4
    </div>
    <div class="content">
    content4
    </div>
    </body>
    </html>
    第二种方式完美的实现了手风琴布局,当然也可以不使用添加类样式的方式,而通过JQuery的hide和show方法来完成同样的功能。
  • 相关阅读:
    新院址运行统计
    游标使用之四
    游标使用之三
    css基础知识
    javascript基础知识
    [每日一题2020.06.20]BFS
    白嫖一个免费域名并解析到博客园
    [每日一题2020.06.19]leetcode #84 #121 单调栈
    操作系统---文件管理
    [每日一题2020.06.18]leetcode #3 hash_map实现滑动窗口
  • 原文地址:https://www.cnblogs.com/lvniao/p/4638719.html
Copyright © 2020-2023  润新知