<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../css/style.css" />
<title>title>
<script type="text/javascript" src="../js/jquery-1.11.0.js" >script>
<script>
$(function(){ //默认做一些页面初始化
//动态在必填项后面添加小红点
$(".bitian").after("*");
//给必填项绑定事件
$(".bitian").blur(function(){
//首先获取用户当前输入的值
var value = this.value; //123
//清空上一次提示的信息
$(this).parent().find(".formtips").remove();
//判断当前的值是哪一项输入的值
if($(this).is("#username")){ //判断是否是用户名输入项
if(value.length < 6){
$(this).parent().append("用户名太短了");
}else{
$(this).parent().append("用户名够用");
}
}
if($(this).is("#password")){ //判断是否是密码输入项
if(value.length < 6){
$(this).parent().append(",密码太短了");
}else{
$(this).parent().append("密码够用");
}
}
}).focus(function(){
$(this).triggerHandler("blur");
}).keyup(function(){
$(this).triggerHandler("blur");
})
//给表单提交绑定事件
$("form").submit(function(){
//触发所有必填项的校验
$(".bitian").trigger("focus");
//找到错误信息的个数
if($(".onError").length > 0){
return false;
}
return true;
});
});
/*
$(function(){
// 在所有必填项后天加一个小红点 *
$(".bitian").after("*");
//事件绑定
$(".bitian").blur(function(){
// var value = this.value;
var value = $(this).val();
//清空当前必填项后面的span
// $(".formtips").remove();
$(this).parent().find(".formtips").remove();
//获得当前事件是谁的
if($(this).is("#username")){
//校验用户名
if(value.length < 6){
$(this).parent().append("用户名太短了");
}else{
$(this).parent().append("用户名够用");
}
}
if($(this).is("#password")){
//校验密码
if(value.length < 3){
$(this).parent().append("密码太短了");
}else{
$(this).parent().append("密码够用");
}
}
}).focus(function(){
$(this).triggerHandler("blur");
}).keyup(function(){
$(this).triggerHandler("blur");
});
// $(".bitian").blur(function(){}).focus(function(){}).keyup(function(){})
//给表单绑定提交事件
$("form").submit(function(){
//触发必填项的校验逻辑
$(".bitian").trigger("focus");
var length = $(".onError").length
if(length > 0){
return false;
}
return true;
});
});*/
script>
head>
<body>
<form action="../index.html">
<div>
用户名:<input type="text" class="bitian" id="username" />
div>
<div>
密码:<input type="password" class="bitian" id="password" />
div>
<div>
手机号:<input type="tel" />
div>
<div>
<input type="submit" />
div>
form>
body>
html>
数据交换格式:
json
xml
什么是JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
JSON格式
JSON对象
{ key1:value}
{"username":"zhangsan","password":"123"}
JSON数组
[{ key1:value},{ key1:value},{ key1:value}]
开发一套响应式页面.让他能够在各种设备上显示正常,提升用户体验
什么是BootStrap
BootStrap有什么作用
什么是响应式页面
适应不同的分辨率显示不同样式,提高用户的体验
BootStrap的中文网
下载BootStrap
BootStrap结构
<link rel="stylesheet" href="../css/bootstrap.css" />
<script type="text/javascript" src="../js/jquery-1.11.0.js" >script>
<script type="text/javascript" src="../js/bootstrap.js" >script>
<meta name="viewport" content="width=device-width, initial-scale=1">
.container
类用于固定宽度并支持响应式布局的容器。
...
.container-fluid
类用于 100% 宽度,占据全部视口(viewport)的容器。
...
row
Bootstrap 栅格系统的工作原理:
.container
(固定宽度)或 .container-fluid
(100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。.row
和 .col-xs-4
这种预定义的类,可以用来快速创建栅格布局。Bootstrap 源码中定义的 mixin 也可以用来创建语义化的布局。padding
属性,从而创建列与列之间的间隔(gutter)。通过为 .row
元素设置负值 margin
从而抵消掉为 .container
元素设置的 padding
,也就间接为“行(row)”所包含的“列(column)”抵消掉了padding
BootStrap的栅格系统
BootStrap的全局CSS
请使用BootStrap对我们的首页进行优化
- 新建一个HTML页面.引入bootStrap相关的js和CSS
- 定义一个整体的div, 将整体的div分成8个部分
- 完成没部分的内容显示
<html>
<head>
<meta charset="UTF-8">
<title>title>
<link rel="stylesheet" href="../css/bootstrap.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../js/jquery-1.11.0.js">script>
<script src="../js/bootstrap.min.js">script>
head>
<body>
<div class="container">
<div class="row">
<div class="col-md-4">
<img src="../img/logo2.png" />
div>
<div class="col-md-4 hidden-xs">
<img src="../img/header.png" />
div>
<div class="col-md-4">
<a href="#">登录a>
<a href="#">注册a>
<a href="#">购物车a>
div>
div>
<div class="row">
<div class="col-md-12">
<nav class="navbar navbar-inverse" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigationspan>
<span class="icon-bar">span>
<span class="icon-bar">span>
<span class="icon-bar">span>
button>
<a class="navbar-brand" href="#">首页a>
div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active">
<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">所有分类 <span class="caret">span>a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="#">手机数码a>
li>
<li>
<a href="#">鞋靴箱包a>
li>
<li>
<a href="#">电脑办公a>
li>
<li class="divider">li>
<li>
<a href="#">Separated linka>
li>
<li class="divider">li>
<li>
<a href="#">One more separated linka>
li>
ul>
li>
ul>
<form class="navbar-form navbar-right" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="请输入要搜索的商品">
div>
<button type="submit" class="btn btn-default">搜索button>
form>
div>
div>
nav>
div>
div>
<div>
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<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>
ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="../img/1.jpg" alt="...">
<div class="carousel-caption">
...
div>
div>
<div class="item">
<img src="../img/2.jpg" alt="...">
<div class="carousel-caption">
...
div>
div>
<div class="item">
<img src="../img/3.jpg" alt="...">
<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">span>
<span class="sr-only">Previousspan>
a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right">span>
<span class="sr-only">Nextspan>
a>
div>
div>
<div class="row">
<div class="col-md-12">
<h3>最新商品<img src="../images/title2.jpg"/>h3>
div>
div>
<div class="row">
<div class="col-md-2 hidden-sm hidden-xs">
<img src="../products/hao/big01.jpg" width="100%" height="100%" />
div>
<div class="col-md-10">
<div class="row">
<div class="col-md-6">
<img src="../products/hao/middle01.jpg" width="100%" />
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
div>
<div class="row">
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
div>
div>
div>
<div class="row">
<div class="col-md-12">
<img src="../products/hao/ad.jpg" width="100%" />
div>
div>
<div class="row">
<div class="col-md-12">
<h3>最新商品<img src="../images/title2.jpg"/>h3>
div>
div>
<div class="row">
<div class="col-md-2 hidden-sm hidden-xs">
<img src="../products/hao/big01.jpg" width="100%" height="100%" />
div>
<div class="col-md-10">
<div class="row">
<div class="col-md-6">
<img src="../products/hao/middle01.jpg" width="100%" />
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
div>
<div class="row">
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
<div class="col-md-2 col-xs-4" style="text-align: center;">
<img src="../products/hao/small01.jpg" />
<p>豆浆机p>
<p>$998p>
div>
div>
div>
div>
<div>
<img src="../image/footer.jpg" width="100%" />
div>
<div style="text-align: center;">
<a href="http://www.itheima.com">关于我们a>
<a href="http://www.itheima.com">联系我们a>
<a href="http://www.itheima.com">招贤纳士a>
<a href="http://www.itheima.com">法律声明a>
<a href="http://www.itheima.com">友情链接a>
<a href="http://www.itheima.com">支付方式a>
<a href="http://www.itheima.com">配送方式a>
<a href="http://www.itheima.com">服务声明a>
<a href="http://www.itheima.com">广告声明a>
<br />
Copyright © 2018 yxy 版权所有
div>
div>
body>
html>
JQ方式校验表单(要求做出来)
json : (了解)
$.get(url,function(data){}) (了解)
bootstrap: Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。
什么是响应式: 会根据不同的分辨率去显示不同页面结构,提高用户体验
HTML: 超文本标记语言: 设计网页,决定了网页的结构
CSS: 层叠样式表 ,主要是用来美化页面, 将美化和HTML代码进行分离,提高代码复用性
javascript: 脚本语言,由浏览器解释执行, 弱类型语言(var i), 提供用户交互
jquery: javascript函数库,进一步的封装
选择器:
层级选择器
属性选择器:
表单选择器
body > div > div:nth-child(7) > div:nth-child(3) > div:nth-child(8)
基本的过滤器
表单对象属性