分享

Bootstrap

 忘川书阁 2018-04-13

1.什么是bootstrap(重点)?
    框架:能够快速的实现项目需求
    前端框架: Bootstrap  JS框架: JQuery  nodejs  express......
    后端框架: ThinkPHP Laravel ci  yii zf(zend framework) wordpress..., bootstrap框架: 是html+css的一款前端框架。
    简洁、直观、强悍、(移动设备优先的前端开发框架),让web开发更迅速、简单,使网页更加的美观。快速的适应不同的设备,手机,平板 电脑 pc 等等。
2.bootstrap的搭建(重点)
    导入文件:
        <link rel="stylesheet" href="bs/css/bootstrap.min.css">
        <script src="bs/js/jquery.min.js"></script>
        <script src="bs/js/bootstrap.min.js"></script>
        <script src="bs/js/holder.min.js"></script>
    原理:通过元素的类名 可以调用导入的css文件样式 类名都是固定,(如果有多个类名,写在同一个class里)符合bootstrap的规范。
3.css样式
(1)栅格系统(重点):
    .row 行
        .col-md-3 每个里面分为几列
        .col-md-offset-1 偏移
        .col-xs-6 手机移动端 防止列堆叠在一块
(2)排版:
    <1>标题标签:h
        .page-header
        页面主体
        p标签:.lead
    <2>强调:
        Small  strong  em
        code标签: <code></code>
        <small></small>
    <3>pre标签:
        <pre></pre>
    <4>文本对齐:
        .text-left  
        .text-center
        .text-right
    <5>强调class (给div)
        .text-muted
        .text-primary
        .text-success
        .text-info
        .text-warning
        .text-danger
    <6>缩略语:abbr
    <7>地址:address
    <8>引用:blockquote
    <9>块对齐(漂浮):
        .pull-left
        .pull-right
        清除浮动:.clearfix
(3)table标签(重点):
    .table  具有表格形式
    .table-striped  斑马条纹样式
    .table-bordered 单元格的边框
    .table-hover 鼠标悬浮
    .table-condensed  表格紧缩
    校验状态:
        .success
        .danger
        .warning
(4)表单(重点):
    .form-control 设置宽度为100%
    校验状态
        .has-sucess
        .has-error
        .has-warning
(5)按钮样式(重点):
    button|a|submit
        颜色->
            .btn-primary
            .btn-success
            .btn-info
            .btn-warning
            .btn-danger
        大小->
            .btn-xs
            .btn-sm
            .btn-lg
(6)图片(重点):
        .img-circle 
        .img-rounded
        .img-thumbnail
        .img-responsive响应式
4.组件
5.JavaScript 插件(重点)
6.Ajax结合Jquery 城市级联(重点)
添加收货地址
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模态框</title>
    <link rel="stylesheet" type="text/css" href="./bs/css/bootstrap.min.css">
    <script src="./bs/js/jquery.min.js"></script>
    <script src="./bs/js/bootstrap.min.js"></script>
    <script src="./bs/js/holder.min.js"></script>
</head>
<body>
    <div class="container">
        <button class="btn btn-success" data-toggle="modal" data-target="#md">添加地址</button>
    <div id="md" class="modal fade">
      <div class="modal-dialog">
        <div class="modal-content">
          <!-- modal 头部-->
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">×</button>
            <h4 class="modal-title text-center" id="myModalLabel">添加收货地址</h4>
          </div>
          <!-- modal body -->
          <div class="modal-body">
            <form action="" method="">
                <div class="form-group has-success">
                    <label>会员姓名</label>
                    <!-- form-control  使表单宽度变为100%-->
                    <input type="text" name="name" class="form-control" placeholder="请输入收货人姓名">
                </div>
                <div class="form-group has-error">
                    <label>联系方式</label>
                    <!-- form-control  使表单宽度变为100%-->
                    <input type="text" name="phone" class="form-control" placeholder="请输入电话">
                </div>
                <div class="form-group has-warning">
                    <label>收货地址</label>
                    <!-- form-control 使表单宽度变为100%-->
                    <select id="cid">
                        <option value="">--请选择--</option>
                    </select>
                    </div>
                <input type="submit" class="btn btn-success" value="提交">
                </form>
          </div>
          <!-- modal footer -->
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" data-dismiss="modal">关闭</button>
          </div>
        </div><!-- /.modal-content -->
      </div><!-- /.modal-dialog -->
    </div>
    </div>
</body>
<script type="text/javascript">
        // alert(o);
        //第一级别数据获取
        //Ajax请求
        $.ajax({
            'type':'get',//请求的方式
            'data':{upid:0},//附加参数
            'async':true,//异步操作
            'url':"01.php",//服务器端页面
            'dataType':"json",//响应数据类型
            //接受响应数据的匿名函数
            success:
            function(data){
                // alert(data);
                //遍历
                for(var i=0;i<data.length;i++){
                    // alert(data[i].upid);
                    //把遍历的数据 添加到option
                    var info='<option value="'+data[i].id+'">'+data[i].name+'</option>';
                    // alert(info);
                    //把带有数据的option 内部添加到第一个select
                    $("#cid").append(info);
                }
            },
            //Ajax 发送失败
            error:
            function(){
                alert("Ajax 响应失败");
            }
        });
        // change 文本区发生改变的时候 触发当前事件
        $("select").live('change',function(){
            // alert('ssss');
            //获取父级id
            o=$(this);
            //清除 下一个所有的select
            //nextAll 清除当前元素之后所有同辈元素
            o.nextAll("select").remove();
            s=o.val();
            // alert(s);
            $.ajax({
            'type':'get',//请求的方式
            'data':{upid:s},//附加参数
            'async':true,//异步操作
            'url':"01.php",//服务器端页面
            'dataType':"json",//响应数据类型
            //接受响应数据的匿名函数
            success:
            function(data){
                // alert(data);
                //创建select
                select=$("<select></select>");//= JS document.createElement
                //内部插入option
                select.append($("<option value=''>--请选择--</option>"));
                //判断
                if(data.length>0){
                //遍历
                for(var i=0;i<data.length;i++){
                    // alert(data[i].upid);
                    //把遍历的数据 添加到option
                    var info='<option value="'+data[i].id+'">'+data[i].name+'</option>';
                    // alert(info);
                    //把带有数据的option 内部添加到创建select
                    select.append(info);
                }
                //把创建好的select 外部插入到上一个select 后面
                o.after(select);
                }
            },
            //Ajax 发送失败
            error:
            function(){
                alert("Ajax 响应失败");
            }
        });
        });
        //给button 绑定单击事件
        $("button").click(function(){
            //存储当前选中的数据
            arr=[];
            //遍历所有的select
            $("select").each(function(){
                //获取选中的数据
                m=$(this).find("option:selected").html();
                // alert(m);
                arr.push(m);
            });
            // alert(arr);
            //把选中的数据 arr 赋值给当前隐藏域
            $("input[name='address']").val(arr);
        });
</script>
</html>

<?php
    // echo $_POST['name'];
    //获取upid
    $upid=isset($_GET['upid'])?$_GET['upid']:'';
    //连数据库
    $pdo=new PDO("mysql:host=localhost;dbname=sss","root","");
    //设置字符集
    $pdo->exec("set names utf8");
    //准备sql
    $sql="select * from district where upid={$upid}";
    //执行
    $list=$pdo->query($sql);
    //获取结果集
    $info=$list->fetchAll(PDO::FETCH_ASSOC);
    //php 数据是不能直接在 js脚本里解析的
    //将php数据转换为 json字符串 json_encode(json对象格式)
    
    echo json_encode($info);
?>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约