前言 菜鸟的前端学习2021年度总结
2021年11月中旬开始学习前端,快过年了,简单写下总结。
经过两个月的学习,粗略学习了一些html、css、JavaScript基础,年前放假前学了一点jQuery,从学css起也有每天整理笔记发博客,有时耐心仔细整理,有时偷懒简单“拿来”老师笔记。
前段基础的学习比想象中简单,但也不能骄傲,时刻警醒自己不能自满,挑战与困难永远存在在工作之后的实战中。
年后还将进行差不多3个月的学习,继续加油,继续努力,不负时光不负未来。
浏览器事件
<div style="width: 1500px;height: 1500px;background: cyan;"></div>
<script src="./jquery-1.12.4.js"></script>
<script>
/* 浏览器监听滚动事件 */
// $(window).scroll(function(){
// console.log('scrollLeft',$(document).scrollLeft() )
// console.log('scrollTop',$(document).scrollTop() )
// })
/* 浏览器监听浏览器尺寸发生变化 */
// $(window).resize(function(){
// console.log('我的尺寸变化了');
// console.log( $(window).width() )
// if( $(window).width() <600 ){
// $('div').css('background','red')
// }else{
// $('div').css('background','cyan')
// }
// })
</script>
复制代码
绑定事件
<style>
div{width:200px;height: 200px;background:cyan;}
</style>
<body>
<button>解绑点击事件</button>
<div></div>
<script src="./jquery-1.12.4.js"></script>
<script>
/* 绑定单个事件 */
// $('div').bind('click',function(){
// console.log('我绑定了点击事件')
// })
// $('div').bind('mouseover',function(){
// console.log('我绑定了鼠标移入事件')
// })
// $('div').bind('mouseout',function(){
// console.log('我绑定了鼠标移出事件')
// })
/* 绑定多个事件 */
$('div').bind({
click:function(){
console.log('我绑定了点击事件')
},
mouseover:function(){
console.log('我绑定了鼠标移入事件')
},
mouseout:function(){
console.log('我绑定了鼠标移出事件')
}
})
$('button').click(function(){
/* 解绑 */
// $('div').unbind('click')
/* 当unbind()不带参数时,表示移除所绑定的全部事件 */
$('div').unbind()
})
// $('div').mouseover(function(){
// console.log('我绑定了鼠标移入事件')
// })
// $('div').mouseout(function(){
// console.log('我绑定了鼠标移出事件')
// })
</script>
</body>
复制代码
动画animate
<style>
div{width:200px;height: 200px;background:cyan;position: absolute;left:20px;top:20px;}
</style>
<body>
<button>点我</button>
<div></div>
<script src="./jquery-1.12.4.js"></script>
<script>
$('button').click(function(){
// $('div').slideToggle('500')
$('div').fadeToggle('500')
})
$('div').click(function(){
/* $(selector).animate({params},speed,callback) */
// $('div').animate({
// left:'200px',
// top:'500px'
// },2000,function(){
// $(this).animate({
// left:'400px',
// top:'20px'
// },2000,function(){
// $(this).animate({
// left:'600px',
// top:'500px'
// },2000,function(){
// $(this).animate({
// left:'800px',
// top:'20px'
// },2000,function(){
// /* unbind 也可以操作click直接调用的事件 */
// $('div').unbind('click')
// })
// })
// })
// })
/* 可选。表示速度,默认为“0”,
可能值:毫秒(如1000)、slow、normal、fast */
/*
slideDown() 可以使元素逐步延伸显示
slideUp()则使元素逐步缩短直至隐藏
*/
// if($('div').css('display')=='block'){
// $('div').slideUp('500',function(){
// alert('向上收缩')
// })
// }else{
// $('div').slideDown('500',function(){
// alert('向下展开')
// })
// }
// if($('div').css('display')=='block'){
// $('div').fadeOut('500',function(){
// alert('我淡出了')
// })
// }else{
// $('div').fadeIn('500',function(){
// alert('我淡入了')
// })
// }
// $('div').toggle('slow');
})
</script>
</body>
复制代码
未来事件
<button id="btn1">点击添加学生</button>
<button id="btn2">解绑li点击事件</button>
<ul>
<li>我是学生1</li>
<li>我是学生2</li>
<li>我是学生3</li>
</ul>
<!-- 点击添加学生 点击li可以打印出对应的字 -->
<!-- 点击学生4 或者 5 也能答应出 对应的字 -->
<script src="./jquery-1.12.4.js"></script>
<script>
let count = 3;
$('#btn1').click(function(){
count++;
$('ul').append( $(`<li>我是学生${count}</li>`) )
})
/* 这样操作 对未来元素不能实现绑定 */
// $('li').click(function(){
// alert( $(this).text() );
// })
/* 使用bind 实现不了对未来元素的绑定 是老版本的用法
新版的使用on*/
/* 给已存在的body元素绑定 点击li的时候出现对应的事件 */
$('body').on('click','li',function(){
alert( $(this).text() );
})
$('#btn2').click(function(){
/* 使用off方法来解绑li的点击事件 */
/* 使用未来元素的方法绑定的方式不能实现使用li对off解绑
要使用 $('body').off('click')*/
// $('li').off('click')
})
</script>
复制代码
HTTP
<!--
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议
设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法
一次HTTP操作称为一个事务,其工作过程可分为四步
-->
<!--
OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法
HEAD 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回
GET 向特定的资源发出请求 一般用户请求数据会被经常使用
POST 向指定资源提交数据进行处理请求 一般用于登录 数据保密 还可以用与文件传输
PUT 向指定资源位置上传其最新内容 需要修改数据的时候和更新数据的时候
DELETE 请求服务器删除Request-URI所标识的资源 删除数据的时候使用
TRACE 回显服务器收到的请求,主要用于测试或诊断
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
HTTP/1.1 例如:http:// HTTP/2 例如:https:// 加密 https://www.baidu.com/
PATCH 实体中包含一个表,表中说明与该URI所表示的原内容的区别
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
- HEAD:获取资源的元数据。
- OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
-->
<!--
原生的方式
创建Ajax对象 var oAjax=new XMLHttpRequest();
连接到服务器 oAjax.open("GET","abc.txt",true);
发送请求send oAjax.send();
接收返回值
oAjax.onreadystatechange=function(){
if (oAjax.readyState==4 && oAjax.status==200){
alert("请求成功"+oAjax.responseText);
}
}
-->
复制代码
jq中使用ajax(初体验)
<button>登录</button>
<script src="./jquery-1.12.4.js"></script>
<script>
$('button').click(function(){
$.ajax({
url:"http://timemeetyou.com:8889/api/private/v1/login",
method:"post",
data:{
username:'admin',
password:'123456'
},
success:function(res){
/* success后面的方法里面的形参res表示后台返回的数据 */
console.log(res);
}
})
})
</script>