第5章WEB05- BootStrap篇

今日任务
? 使用JQuery完成表单校验
? 使用BootStrap制作一个响应式页面
? 使用BootStrap制作网站首页
教学导航
教学目标
掌握什么是响应式及响应式原理
掌握BootStrap的栅格系统
了解BootStrap的其他组件及JS控件
教学方法
案例驱动法
1.1 上次课内容回顾:
JQuery:

  • JQuery的概述:是一个轻量级的JavaScript的类库.对JS进行封装.
  • 常见的JS的框架:
    • JQuery,ExtJS,DWR,Prototype...
  • JQuery的使用:
    • 引入JQuery的JS.
    • window.onload和$(document).ready(function(){});区别?
      • onload页面加载完成后才会执行.执行一次
      • ready在页面的DOM树绘制完成就会执行.执行多次.
    • JS对象与JQuery对象的转换.
      • JS-->JQuery: $(JS的对象)
      • JQuery-->JS: JQ对象.get(0), JQ对象[0]
  • JQuery的选择器:(*****)
    • 基本选择器:

      • ID选择器,类选择器,元素选择器,通配符选择器,选择器并列.
    • 层级选择器:
      • 空格 ,> ,+ ,~
    • 过滤:
      • :first,:last,:eq(),:even,:odd...
    • 属性选择器:
      • [属性名],[属性名=’属性值’]...
    • 表单选择器:
      • :input,:text,:password,:radio...
    • 可见性:
      *
    • 表单对象属性:
      • :checked,:selected,:enable,:disable
  • JQuery实现效果:
    • show(),hide(),slideDown(),slideUp(),fadeIn(),fadeOut(),animate()
  • JQuery样式操作:
    • css();
  • JQuery属性操作的方法:
    • attr(),removeAttr(),prop(),removeProp(),html(),text(),val(),addClass(),removeClass()
  • JQuery文档处理:
    • append(),appendTo(),insertBefore(),insertAfter(),remove(),clone(),replaceAll()
  • JQuery的事件:
    • click(),change(),submit(),dblclick(),keyUp(),keyDown()...
    • toggler(),hover() ---进行事件的切换.

1.2 案例一:使用JQuery完成表单校验:1.2.1 需求:
之前使用JS做过表单的校验,表单校验对于后台的开发人员比较重要的.使用JQ完成一个复杂点表单的校验.

1.2.2 分析:1.2.2.1 技术分析:
【JQuery的查找】

  • find();
  • parent();
  • children();
    【JQuery的事件处理】
  • trigger和triggerHandler区别:
    1.2.2.2 步骤分析:
    【步骤一】:引入注册页面
    【步骤二】:引入JQ的js.
    【步骤三】:为必填项添加一个 *
    【步骤四】:获得表单中的所有的输入项,为所有的输入项添加一个blur事件.
    【步骤五】:判断当前输入项是什么(用户名,密码,邮箱)
    【步骤六】:为不同的输入项做不同的校验.
    【步骤七】:为表单元素添加一个submit事件.
    【步骤八】:执行之前的blur函数.查找错误信息的长度,如果长度>0 有错误 不能提交.
    1.2.3 代码实现:
// 表单校验的操作
$(function(){
// 步骤一:为必填项添加一个 *.
$("form input.required").each(function(){
// 获得他的父元素:
$(this).parent().append("<b class=‘high‘> *</b>");
});
// 步骤二:获得所有的输入项,为输入项添加一个blur事件.
$("form input").blur(function(){
// 获得该元素的父元素:
var $parent = $(this).parent();
// 将原有的信息清除掉.
$parent.find(".formtips").remove();
// 确定点击的输入项是谁?
if($(this).is("#username")){
// 判断用户名是否为空:
if(this.value == ""){
// 向文本框后添加一个错误提示.
$parent.append("<span class=‘formtips onError‘>用户名不能为空</span>");
}else{
// 向文本框后添加一个正确提示.
$parent.append("<span class=‘formtips onSuccess‘>用户名输入正确</span>");
}
}
if($(this).is("#password")){
// 判断用户名是否为空:
if(this.value == ""){
// 向文本框后添加一个错误提示.
$parent.append("<span class=‘formtips onError‘>密码不能为空</span>");
}else{
// 向文本框后添加一个正确提示.
$parent.append("<span class=‘formtips onSuccess‘>密码输入正确</span>");
}
}
}).keyup(function(){
$(this).triggerHandler("blur");
}).focus(function(){
$(this).triggerHandler("blur");
});
// 为表单添加一个submit事件.
$("form").submit(function(){
// 执行表单中blur事件.
$("form :input").trigger("blur");
// 获得错误信息的长度.
var errorLength = $(".onError").length;
if(errorLength > 0){
return false;
}
});
});

1.3 案例二:使用BootStrap设计一个响应式的页面:1.3.1 需求:
设计一套页面能够通用在不同的设备上,在手机,pad上,电脑上都可以浏览这个网页,而不影响正常的浏览的方式.
1.3.2 分析:1.3.2.1 技术分析:
【BootStrap的概述】
? 什么是BootStrap

? BootStrap可以在那些地方使用:
BootStrap设计出响应式页面,由它设计页面可以在手机,PAD,PC都可以直接访问.
? BootStrap的使用:
下载BootStrap:
http://www.bootcss.com

引入的文件

添加一个<meta>标签:

【BootStrap的全局CSS】
BootStrap的框架提供了一系列的CSS的样式.这些样式可以直接使用.
? 布局容器:

? 栅格系统
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。它包含了易于使用的预定义类,还有强大的mixin 用于生成更具语义的布局。
使用.row样式定义栅格的行.
定义列:.col-lg-n .col-md-n .col-sm-n .col-xs-n

? 排版:





【BootStrap的组件】
【BootStrap的JS的插件】
1.3.3 代码实现
1.4 案例三:使用BootStrap布局首页1.4.1 需求:

1.4.2 分析:1.4.2.1 技术分析:

【BootStrap的组件和JS的插件】
1.4.2.2 步骤分析:
【步骤一】:定义一个外层div元素
【步骤二】:定义里层8个div
【步骤三】:为每层中的div添加元素.
1.4.3 代码实现:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 根据设备宽度,调整缩放比例 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>网站首页</title>
<!-- 引入BootStrap的CSS -->
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="stylesheet" href="../css/bootstrap-theme.min.css" />
<!-- 引入JS-->
<script type="text/javascript" src="../js/jquery-1.11.3.min.js" ></script>
<script type="text/javascript" src="../js/bootstrap.min.js" ></script>
</head>
<body>
<!--整体div-->
<div class="container">
<!--Logon部分DIV-->
<div class="row">
<div class="col-md-4">
<img src="../img/logo2.png" />
</div>
<div class="col-md-4">
<img src="../img/header.png" />
</div>
<div class="col-md-4">
<a href="">登录</a>
<a href="">注册</a>
<a href="">购物车</a>
</div>
</div>
<!--导航条部分DIV-->
<div class="row">
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">首页</a>
    </div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">手机数码 <span class="sr-only">(current)</span></a></li>
        <li><a href="#">电脑办公</a></li>
        <li><a href="#">电脑办公</a></li>
        <li><a href="#">电脑办公</a></li>
        <li><a href="#">电脑办公</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多 <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>

    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
</div>
<!--图片轮播部分DIV-->
<div class="row">
<!-- 图片的小点儿 -->
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
  <!-- Indicators -->
  <ol class="carousel-indicators">
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
    <li data-target="#carousel-example-generic" data-slide-to="2"></li>
    <li data-target="#carousel-example-generic" data-slide-to="3"></li>
  </ol>
  <!-- 图片-->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <img src="../img/bartlesvillecf.jpg" >
      <div class="carousel-caption">

      </div>
    </div>
    <div class="item">
      <img src="../img/okwu-athletics.jpg">
      <div class="carousel-caption">

      </div>
    </div>
    <div class="item">
      <img src="../img/okwu.jpg">
      <div class="carousel-caption">

      </div>
    </div>
    <div class="item">
      <img src="../img/emancipation.jpg">
      <div class="carousel-caption">

      </div>
    </div>
  </div>
  <!-- 图片左右选择 -->
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
</div>
<!--最新商品部分DIV-->
<div class="row">
<div >
<h3>最新商品<img src="../img/title2.jpg"></h3>
</div>
<div >
<div class="col-md-2" style="padding: 0px;height: 440px;">
<img src="../img/big01.jpg" width="100%" height="100%"/>
</div>
<div class="col-md-10">
<!--第一行-->
<div class="row" >
<div class="col-md-6" style="height:230px;padding: 0px;">
<img src="../img/middle01.jpg" height="100%" width="100%"/>
</div>
<div class="col-md-2">
<img src="../img/small01.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small02.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small03.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
</div>
<!--第一行-->
<div class="row">
<div class="col-md-2">
<img src="../img/small01.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small02.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small03.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small01.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small02.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small03.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
</div>
</div>
</div>
</div>
<!--广告部分DIV-->
<div class="row">
<img src="../img/ad.jpg" width="100%"/>
</div>
<!--热门商品部分DIV-->
<div class="row">
 <div >
<h3>热门商品<img src="../img/title2.jpg"></h3>
</div>
<div >
<div class="col-md-2" style="padding: 0px;height: 440px;">
<img src="../img/big01.jpg" width="100%" height="100%"/>
</div>
<div class="col-md-10">
<!--第一行-->
<div class="row" >
<div class="col-md-6" style="height:230px;padding: 0px;">
<img src="../img/middle01.jpg" height="100%" width="100%"/>
</div>
<div class="col-md-2">
<img src="../img/small01.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small02.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small03.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
</div>
<!--第一行-->
<div class="row">
<div class="col-md-2">
<img src="../img/small01.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small02.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small03.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small01.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small02.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
<div class="col-md-2">
<img src="../img/small03.jpg" />
<center><p>豆浆机</p>
<p style="color:red">¥299</p></center>
</div>
</div>
</div>
</div>
</div>
<!--footer部分DIV-->
<div class="row">
<img src="../img/footer.jpg" width="100%"/>
</div>
<!--链接及关于我们部分DIV-->
<div class="row">
<center>

    关于我们 联系我们 招贤纳士 法律声明 友情链接 支付方式 配送方式 服务声明 广告声明 <br/>

Copyright ? 2005-2016 传智商城 版权所有
</center>
</div>
</div>
</body>
</html>

原文地址:http://blog.51cto.com/13587708/2094079

时间: 2024-11-09 20:52:27

第5章WEB05- BootStrap篇的相关文章

Bootstrap篇:弹出框和提示框效果以及代码展示

前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的系统有一个友好的弹出提示框,自然能给用户很好的页面体验.前面几章介绍了bootstrap的几个常用组件,这章来看看bootstrap里面弹出框和提示框的处理.总的来说,弹出提示主要分为三种:弹出框.确定取消提示框.信息提示框.本篇就结合这三种类型分别来介绍下它们的使用. 一.Bootstrap弹出框

XSS的原理分析与解剖:第三章(技巧篇)**************未看*****************

??0×01 前言: 关于前两节url: 第一章:http://www.freebuf.com/articles/web/40520.html 第二章:http://www.freebuf.com/articles/web/42727.html 说的xss的原理及不同环境的构造方法.和XSS的分类及挖掘方法.那么本期则说XSS技巧,前面两个干货不太多,讲的都是比较基础的.而这期则是满满的干货. 从本期开始,XSS我就开始深入了.至 于下一章XSS编码,已经被0xExploit写过了( http:

XSS的原理分析与解剖:第三章(技巧篇)【转】

0×01 前言: 关于前两节url: 第一章:http://www.freebuf.com/articles/web/40520.html 第二章:http://www.freebuf.com/articles/web/42727.html 说的xss的原理及不同环境的构造方法.和XSS的分类及挖掘方法.那么本期则说XSS技巧,前面两个干货不太多,讲的都是比较基础的.而这期则是满满的干货. 从本期开始,XSS我就开始深入了.至 于下一章XSS编码,已经被0xExploit写过了( http://

ASP.NET 实现上一篇文章 下一篇文章

select top 1 * from job_hrnews where newsid>162  --下一篇 select top 1 * from job_hrnews where newsid<162 order by newsid desc --上一篇 这篇源于网络,网址已经忘记,敬请谅解!

心?源——bootstrap篇:(一)Bootstrap介绍概念

Bootstrap 简介 1.什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 2. Bootstrap 包含的内容: 基本结构:Bootstrap 提供了一个带有网格系统.链接样式.背景的基本结构.这将在 Bootstrap 基本结构 部分详细讲解. 全局CSS样式:Bootstrap 自带以下特性:全局的 CSS 设置.定义基本的 HTML 元素样式.可扩展的 cl

第6章 面向对象(高级篇)

1. interface ClassName { public String getClassName(); } class Company implements ClassName { @Override public String getClassName() { return new Company().getClass().getName(); } } public class CompanyTest { public static void main(String[] args) {

Python 第一章 【基础篇】

Python 简介    Python 安装    第一个Python程序         Python 解释器         字符编码与解码      动态语言与静态语言的区别   变量及简单数据类型 编码规范 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上

第2章WEB02-CSS&amp;JS篇

今日任务? 使用CSS完成网站首页的美化? 使用CSS完成网站注册页面的美化? 使用JS完成简单的数据校验? 使用JS完成图片轮播效果教学导航教学目标了解CSS的概念了解CSS的引入方式了解CSS的基本语法和常用的选择器了解CSS的盒子模型,悬浮和定位.了解JS的概念掌握JS的基本语法,数据类型,能够使用JS完成简单的页面交互.教学方法案例驱动法1.1 上次课的内容回顾: HTML: * HTML的概述: * HTML:Hyper Text Markup Language. * HTML就是由一

第8章WEB08-XML&amp;Tomcat篇

今日任务? 通过XML作为配置文件完成模拟Tomcat的案例? 安装Tomcat服务器发布一个WEB项目教学导航教学目标了解XML的基本语法,并能够编写正确格式的XML.了解XML的约束.掌握XML的解析.熟练掌握并使用tomcat发布一个web应用了解HTTP协议及掌握HTTP协议中的常用的头信息.教学方法案例驱动法1.1 上次课内容回顾:JDBC : JDBC的概述: JDBC:Java Database Connectivity JDBC的API: Connection:连接. 获得连接.

第10章WEB10-request&amp;response篇

今日任务? WEB工程下的文件的读取? 登录系统后完成文件下载? 商城系统注册功能.教学导航教学目标掌握response设置响应头掌握response重定向和转发的区别掌握request接收请求参数掌握request域的作用范围教学方法案例驱动法1.1 上次课内容回顾:HTTP : Http请求部分: 请求行:请求方式 请求路径 协议版本. 请求方式: 请求有很多.常用的是GET和POST. 区别:get有大小限制,post没有大小限制,get参数会显示到地址栏,post不会显示到地址栏,放入请