jQuery结合CSS实现手风琴组件

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS DIV 1</title>
<link rel="stylesheet" type="text/css" href="1.css"></link>
<script type="text/javascript" src="jquery-3.0.0.js"></script>
<script type="text/javascript" src="1.js"></script>
</head>
<body>
    <div id="main" class="main">
        <div id="left" class="left">
            <div id="leftTop" class="leftTop">
                <div id="navDescription" class="navDescription">left</div>
                <div id="navImg" class="navImg">
                    <img src="toLeft.png">
                </div>
            </div>
            <div id="leftBottom" class="leftBottom">
                <div class="leftBottom1">
                    <div id="leftBottom1" class="contentStyle">leftBottom1</div>
                </div>
                <div class="leftBottom2">
                    <div id="leftBottom2" class="contentStyle">leftBottom2</div>
                </div>
                <div class="leftBottom3">
                    <div id="leftBottom3" class="contentStyle">leftBottom3</div>
                </div>
            </div>
        </div>
        <div id="right" class="right">
            <div id="rightContent" class="rightContent">right</div>
        </div>
    </div>
</body>
</html>

1.css

.main {
	width: 1280px;
	height: 300px;
	background-color: #7FFFD4;
	float: left;
}

.left {
	float: left;
	width: 20%;
	height: 80%;
	background-color: yellow;
}

.right {
	float: right;
	width: 80%;
	height: 84%;
	background-color: lightblue;
}

.rightContent{
	height: inherit;
	text-align: center;
	vertical-align: bottom;
}

.leftTop {

}

.leftBottom {
	margin-top: 60px;
}

.leftBottom1 {
	height: 60px;
	background-color: #00FF00;
	border-top: 3px solid #FF0000;
}

.leftBottom2 {
	height: 60px;
	background-color: #FF00FF;
	border-top: 3px solid #FF0000;
}

.leftBottom3 {
	height: 60px;
	background-color: #FFE4E1;
	border-top: 3px solid #FF0000;
	border-bottom: 3px solid #FF0000;
}

.navDescription {
	float: left;
	padding-top: 17px;
	padding-left: 95px;
}

.navImg {
	float: right;
	height: 100%;
	cursor: pointer;
}
.contentStyle{
	padding-top: 18px;
	padding-left: 70px;
	cursor: pointer;
}

1.js

    function toLeft() {
        $(".left").css({
            "width" : "2.5%"
        });
        $(".left .navDescription").css({
            "display" : "none"
        });
        $("img").attr({
            "src" : "toRight.png"
        });
        $(".right").css({
            "width" : "97.5%"
        });
        $("img").attr({
            "onclick" : "toRight();"
        });
    }
    function toRight() {
        $(".left").css({
            "width" : "20%"
        });
        $(".right").css({
            "width" : "80%"
        });
        $(".left .navDescription").css({
            "display" : "block"
        });
        $("img").attr({
            "src" : "toLeft.png"
        });
        $("img").attr({
            "onclick" : "toLeft();"
        });
    }
    function showLeftContentToRight(content){
        var text = $(content).text();
        $(".rightContent").text(text);
    }
    $().ready(function() {
        if ("toLeft.png" === $("img").attr("src")) {
            $("img").attr({
                "onclick" : "toLeft();"
            });
        }
        $("#leftBottom1").attr({"onclick":"showLeftContentToRight(‘#leftBottom1‘);"});
        $("#leftBottom2").attr({"onclick":"showLeftContentToRight(‘#leftBottom2‘);"});
        $("#leftBottom3").attr({"onclick":"showLeftContentToRight(‘#leftBottom3‘);"});
    });

toLeft.png(图片来自"千图网")

toRight.png(图片来自"千图网")

jquery-3.0.0.js  官网下载地址如下:

http://jquery.com/

效果展示:

小结:用到的样式知识点

1. float
    水平方向设置DIV块位置的属性。只有right和left两个属性值。
2. width height
   若用百分比时,必须要有固定的高度/宽度值,否则不会有效果。(本例中的.main若没有设置具体的高度值,.right和.left的高度百分比是没有任何效果的)
3. position left right
   若left 和 right 后面跟具体的px值,则postion必须设置为relative或者absolute,否则无效果。
4. 手型图标
   cursor:pointer;

5. padding margin
  padding 针对块区域内。
  marging 针对块区域外。
6. 分隔条
   border-bottom: 1px solid #C0C0C0;

不足之处:

静态资源(如图片路径、js文件的引用)没有实现模块化管理,下例中会补充。

时间: 2024-12-11 18:01:11

jQuery结合CSS实现手风琴组件的相关文章

jQuery结合CSS实现手风琴组件(2)----利用seajs实现静态资源模块化引入

1. 目录结构(webStrom) 2. 代码 1.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS DIV 1</title> <script type="text/javascript" src="js/jquery-3.0.0.js"&g

第二百零六节,jQuery EasyUI,Menu(菜单)组件

jQuery EasyUI,Menu(菜单)组件 学习要点: 1.加载方式 2.菜单项属性 3.菜单属性 4.菜单事件 5.菜单方法 本节课重点了解 EasyUI 中 Menu(菜单)组件的使用方法,这个组件不依赖于任何其他 组件. 一.加载方式 菜单组件通常用于快捷菜单,在加载方式上,通过 class 或 JS 进行设置为菜单组件. 然后,再通过 JS 事件部分再响应. class 加载方式, <div id="box" class="easyui-menu"

jQuery.uploadify文件上传组件实例讲解

1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好,无刷新,带上传进度等等.在最近的短信平台开发中,使用Uploadify进行文件上传. Uploadify官网地址是:http://www.uploadify.com/ 可满足项目开发需求. 下载地址:http://www.uploadify.com/wp-content/uploads/files/

第二百零二节,jQuery EasyUI,Layout(布局)组件

jQuery EasyUI,Layout(布局)组件 学习要点: 1.加载方式 2.布局属性 3.区域面板属性 4.方法列表 本节课重点了解 EasyUI 中 Layout(布局)组件的使用方法,这个组件依赖于 Panel(面 板)组件和 resizable(调整大小)组件. 一.加载方式 class 加载方式,这个属性一般使用class方法使用 <body id="box" class="easyui-layout"> <div data-opt

jquery垂直展开折叠手风琴二级菜单

最近新开发一个简单项目,用到左侧两级的菜单.习惯性的去网上扒jquery手风琴效果,结果悲剧了好久…… 是该认认真真去学jquery,练习自己写动画效果了.从理解别人代码开始吧! 注:jquery-1.8.3.min.js需要下载文件放到同级名为js的文件夹里. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery垂直展开折叠手风琴效果</title> <s

第二百零九节,jQuery EasyUI,Pagination(分页)组件

jQuery EasyUI,Pagination(分页)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Pagination(分页)组件的使用方法,这个组件依赖于 LinkButton(按钮)组件.

利用jQuery和CSS实现环形进度条

html代码 1 <div class="circle" style="left:0"> 2 <div class="pie_left"><div class="left"></div></div> 3 <div class="pie_right"><div class="right"></div&

第二百一十四节,jQuery EasyUI,Calendar(日历)组件

jQuery EasyUI,Calendar(日历)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Canlendar(日历)组件的使用方法,这个组件不依赖于其 他组件. 一.加载方式 class 加载方式 <div id="box" class="easyui-calendar" style="width:200px;height:200px;"></div>

关于jquery的css的一些知识

Query实例CSS 样式表动态选择本实例主要说的还是jquery的选择器,关于jquery的css的一些知识用类似 $("li").css("cursor","pointer"); 这样的方式来确定具体的大家就看代码吧 css样式表一 body{background:#000;color:#fff}h1{font-size:14px;color:#fff;font-weight:bold;}p{font-size:12px;color:#fff