一、jQuery结束

1 阻止后续事件执行

// 有些标签会自带一些事件,比如说提交事件,会自动刷新当前页面,我们可以通过下面的方法组织后续发生的刷新事件
<script>
$('#d2').click(function (e) {
$('#d1').text('宝贝 你能看到我吗?')
// 阻止标签后续事件的执行 方式1
// return false
// 阻止标签后续事件的执行 方式2
// e.preventDefault()
})
</script>

2 阻止事件冒泡

// 比如我们写了一个div里面包了一个p,p里面包了一个span,给他们都设置了点击事件,由于span在p和div的范围里面,所以点击span也会触发p和div的事件,这叫做事件冒泡
<script>
$('#d1').click(function () {
alert('div')
})
$('#d2').click(function () {
alert('p')
})
$('#d3').click(function (e) {
alert('span')
// 阻止事件冒泡的方式1
// return false
// 阻止事件冒泡的方式2
// e.stopPropagation()
})
</script>

3 事件委托

// 当我们写好页面去展示出来的时候,这个时候我们去通过console动态的添加标签,这个标签无法被我们原本页面中的普通事件渲染,可以通过事件委托的方式
// 在指定的范围内,把事件委托给某个标签,无论这个标签是先写好的还是动态创建的
<button>是兄弟,就来砍我!!!</button> <script>
// 给页面上所有的button标签绑定点击事件
// $('button').click(function () { // 无法影响到动态创建的标签
// alert(123)
// }) // 事件委托 在body范围内,给所有的button标签委托click事件
$('body').on('click','button',function () {
alert(123)
})
</script>

4 页面加载

// 等待页面加载完毕再执行代码
window.onload = function(){
// js代码
} """jQuery中等待页面加载完毕"""
// 第一种
$(document).ready(function(){
// js代码
})
// 第二种
$(function(){
// js代码
})
// 第三种
"""直接写在body内部最下方"""

5 动画效果

$('#d1').hide(5000) // 5秒内缩小到消失
w.fn.init [div#d1]
$('#d1').show(5000) // 5秒内方法到出现
w.fn.init [div#d1]
$('#d1').slideUp(5000) // 5秒内向上消失
w.fn.init [div#d1]
$('#d1').slideDown(5000) // 5秒内向下显示
w.fn.init [div#d1]
$('#d1').fadeOut(5000) // 淡出
w.fn.init [div#d1]
$('#d1').fadeIn(5000) // 淡入
w.fn.init [div#d1]
$('#d1').fadeTo(5000,0.4) // 淡出,后面跟淡出的透明度0是完全淡出
w.fn.init [div#d1]

6 补充知识点

$('div').data('info','回来吧,我原谅你了!') // 这种隐藏方式在页面中看不到
// each()获取具体标签信息
$('div') // 这个获取的是一个jQuery对象,包含着所有div标签,要拿到全部还需要for循环
w.fn.init(10) [div, div, div, div, div, div, div, div, div, div, prevObject: w.fn.init(1)]
// 一个参数是获取标签索引
$('div').each(function(index){console.log(index)})
VM181:1 0
VM181:1 1
VM181:1 2
VM181:1 3
VM181:1 4
VM181:1 5
VM181:1 6
VM181:1 7
VM181:1 8
VM181:1 9 $('div').each(function(index,obj){console.log(index,obj)})
// 两个参数是标签索引、具体标签
VM243:1 0 <div>​1​</div>​
VM243:1 1 <div>​2​</div>​
VM243:1 2 <div>​3​</div>​
VM243:1 3 <div>​4​</div>​
VM243:1 4 <div>​5​</div>​
VM243:1 5 <div>​6​</div>​
VM243:1 6 <div>​7​</div>​
VM243:1 7 <div>​8​</div>​
VM243:1 8 <div>​9​</div>​
VM243:1 9 <div>​10​</div>​ // data() 隐秘的存储数据
$('div').data('info','回来吧,我原谅你了!') // 这种隐藏方式在页面中看不到
$('div').first().removeData('info') // 移除隐藏属性

二、前端框架Bootstrap

注意bootstrap的js代码是依赖于jQuery的,也就意味着你在使用Bootstrap动态效果的时候,一定要导入jQuery

bootstrap官网:https://v3.bootcss.com/

bootCDN官网:https://www.bootcdn.cn/

图标库官网:http://www.fontawesome.com.cn/faicons/

使用图标库的时候需要下载到本地,然后连接其中的css文件,具体使用就是集成类即可

1 布局容器

<div class="container">
左右两侧有留白
</div> <div class="container-fluid">
左右两侧没有留白
</div>
// 后续在使用bootstrap做页面的时候 上来先写一个div class=container,之后在div内部书写页面

2 栅格系统

<div class="row"></div>
// 写一个row就是将所在的区域划分成12份 <div class="col-md-6 "> // 获取你所要的份数
// 在使用bootstrap的时候 脑子里面一定要做12的加减法

3 栅格参数

.col-xs-	.col-sm-	.col-md-	.col-lg-
# 针对不同的显示器 bootstrap会自动选择对应的参数
# 如果你想要兼容所有的显示器 你就全部加上即可 # 在一行如何移动位置
<div class="col-md-8 c1 col-md-offset-2"></div> # 从左向右移动2个单位

4 排版

bootstrap将所有原生的HTML标签的文本字体统一设置成了肉眼可以接受的样式

效果一样,但是标签表达的意思不一样(语义)

5 表格

<table class="table table-hover table-striped table-bordered">

// table 优化表格布局
// table-hover 悬浮变色
// table-striped 隔一行变色
// table-bordered 表格边框 <tr class="success">
<td>1</td>
<td>jason</td>
<td>123</td>
<td>study</td>
</tr> // 以下都是颜色的变化
<tr class="active">...</tr>
<tr class="success">...</tr>
<tr class="warning">...</tr>
<tr class="danger">...</tr>
<tr class="info">...</tr>

6 表单

表单里的样式除了特别几个选择框无脑加form-control就行了

<div class="container">
<div class="col-md-8 col-md-offset-2">
<h2 class="text-center">登陆页面</h2>
<form action="">
<p>username:<input type="text" class="form-control"></p>
<p>password:<input type="text" class="form-control"></p>
<p>
<select name="" id="" class="form-control">
<option value="">111</option>
<option value="">222</option>
<option value="">333</option>
</select>
</p>
<textarea name="" id="" cols="30" rows="10" class="form-control"></textarea>
<input type="submit">
</form>
</div>
</div> // 针对报错信息 可以加has-error(input的父标签加)
<p class="has-error">
username:
<input type="text" class="form-control">
</p>

7 按钮

<a href="https://www.mzitu.com/" class="btn btn-primary">点我</a>
<button class="btn btn-danger">按我</button>
<button class="btn btn-default">按我</button>
<button class="btn btn-success">按我</button>
<button class="btn btn-info">按我</button>
<button class="btn btn-warning">按我</button> <button class="btn btn-warning btn-lg">按我</button>
<button class="btn btn-warning btn-sm">按我</button>
<button class="btn btn-warning btn-xs">按我</button>
<input type="submit" class="btn btn-primary btn-block">
// 通过给按钮添加 .btn-block 类可以将其拉伸至父元素100%的宽度,而且按钮也变为了块级(block)元素。

8 图标

<h2 class="text-center">登陆页面 <span class="glyphicon glyphicon-user"></span></h2>

    <style>
span {
color: greenyellow;
}
</style> // 去bootstrap官网找到图标,复制来即可

9 导航条

<nav class="navbar navbar-inverse"> // 白色
<nav class="navbar navbar-default"> // 黑色

10 分页器

<nav aria-label="Page navigation">
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
<li class="active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
</ul>
</nav>

11 弹框

// 是js中alter的进阶版本 优化了视觉效果
swal('你还好吗?')
undefined
swal('你还好吗?')
undefined
swal('你还好吗?','我不好,想你了!')
undefined
swal('你还好吗?','我不好,想你了!','success')
undefined
swal('你还好吗?','我不好,想你了!','warning')
undefined
swal('你还好吗?','我不好,想你了!','error')
undefined
swal('你还好吗?','我不好,想你了!','info')
undefined
# 我们在后面的课程中 还会涉及到该部分内容

day58 前端收尾的更多相关文章

  1. (三)WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或 ...

  2. Python自动化 【第十六篇】:JavaScript作用域和Dom收尾

    本节内容: javascript作用域 DOM收尾 JavaScript作用域 JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走 ...

  3. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  4. 从底层谈WebGIS 原理设计与实现(三):WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(转载)

    从底层谈WebGIS 原理设计与实现(三):WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理 1.前言   在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或经纬度)的换算方法, ...

  5. 前端性能优化--图片处理(Css Sprites 与 base64)

    前言: 近期研究着前端性能的优化方面的知识,并以博客记之.之前有相同系列的文章(前端性能优化--图片懒加载(lazyload image)),这次继续是关于图片的处理,css sprites 和 ba ...

  6. 前端通信:SSE设计方案(二)--- 服务器推送技术的实践以及一些应用场景的demo(包括在线及时聊天系统以及线上缓存更新,代码热修复案例)

    距离上一篇博客,这篇文章的发布大概过了整整三个月.我也从饿了么度过了试用期,成为了正式员工.刚进来恰好遇到项目底层改造和迁移,将项目从angular全部迁移到vue上,所以适应这边的节奏和业务的开发任 ...

  7. 前端js面向对象编程以及封装组件的思想

    demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...

  8. 关于前端js面向对象编程以及封装组件的思想

    demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...

  9. WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或 ...

随机推荐

  1. 掌握SpringBoot-2.3的容器探针:深入篇

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:原创分类汇总及配套源码,涉及Java.Docker.K8S.DevOPS等 关于<Spr ...

  2. git clone 时注意点

    环境: 在公司访问外网需要设置代理,另外,在公司局域网内架设了一台 GIT 服务器. 在使用 git clone 时,不能设置成 git 使用代理: git config --global http. ...

  3. [转] linux操作系统下c语言编程入门--基础知识

    点击阅读原文 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 1. 源程序编译        2. Makefile的编写        3. 程序库 ...

  4. 01.DRF-Web应用模式

    Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控 ...

  5. LNMP 环境更换Nginx 服务器为Tengine

    本人之前所使用 LNMP 环境一直是原生的Nginx服务器,最近几天看了好多大网站使用 淘宝团队基于Nginx开发的 Tengine 决定给自己的虚拟机也装个玩玩. 关于Tengine的介绍就不多说了 ...

  6. 03.DRF-设计方法

    RESTful设计方法 1. 域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https:/ ...

  7. pikachu靶场-暴力破解(验证码、token)

    甲.基于表单的破解 较为简单,直接BurpSuite爆破. 乙.验证码绕过(on server) 打开题目,比第一题多了一个验证码验证,很多初学者遇到验证码就会感觉不知所措.其实这题也较为简单,首先正 ...

  8. openstack Rocky 社区版部署1.4 安装数据库

    在控制节点安装mariadb,也可以单独服务器安装数据库,假如多个控制节点就在第一台安装数据库,计算节点不需要安装. 1 安装mariadb相关安装包. yum install mariadb mar ...

  9. 深入理解RocketMQ(一)---阅读源码准备

    本文主要描述使用Idea获取rocketMQ源码及源码的读取. 在演示搭建源码环境前,先简要描述一下RocketMQ的设计目标. 1.架构模式 和大多数消息中间件一样,采用的是发布订阅模式,基本组件包 ...

  10. 01 . Shell详细入门介绍及简单应用

    Shell简介 Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 解释处理Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输 ...