基本标签
1. 百度
href:目标地址;target:页面显示位置
2.
img可导致图片拉伸,不适合做背景
面板标签
1. (块元素)
2. (行内元素)
数据标签(表单标签)
下拉列表
多行文本 表格数据展示
-
定位标签
内容
段落
下一行
-   空格
-
效果标签
粗体
……
标题
-
列表标签
有序列表
无序列表
CSS
- 层叠样式表
color: red;background-color: green;
-
属性:样式;
-
颜色的设置:
color: red;
color: #f00/#ff0000;(RGB颜色值)
color:rgba(255,0,0,0.5);(a:透明度)
优先级:
选择范围(范围越大,优先级越小)
加载顺序(后加载的优先)
特定优先级(!important)
-
用法
-
行内使用(当前标签生效,优先级高,特例使用)
合法化
-
页内使用
-
页外使用(选择器写入文件,支持浏览器缓存)
-
选择器(选择样式实施的标签)
-
box模型+定位
- margin:外边距(微调位置,占用原位置)
- border:边框(设置:颜色,样式,粗细)
- padding:内边距(内容位置改变,可能导致大小改变)
- position+left+right+bottom+top 定位
- position:fixed 超级绝对定位(忽略级层,按文档左上角定位,独立一层)
- position:absolute 绝对定位(最常用的定位,按照上级容器的左上角定位,上级容器也为绝对定位)
iii. position:relative 相对定位(按原位置来进行定位)
-
常用属性
- Display 显示模式(none,block,inline)
- visibility:hidden 看不见隐藏
- float:对齐定位
- cursor:游标
- outline:none;隐藏录入焦点边框
- z-index:设置标签重叠样式的优先级
- overflow:超出范围解决方法
-
简单的css3
- css3效果生成器 生成器
-
额外框架及使用
- Animate.css
- Buttons.css
JavaScript
- 不是java,做页面交互(动画,事件)
用法
-
事件,行内用法
<a href="#" onclick="alert(11)">lhya>
-
页内
<script>
function ok(){
alert(11)
}
script>
-
页外
<script type="text/javascript" src="js/my.js" >script>
语法(弱类型)
var a = 100;/*变量定义*/
var b = "qwe"; //随时更换变量
c = "123"; //var 可省略
d = {1,2,3,4};/*数组定义*/
e = {name:"123",sex:2};/*对象定义*/
alert(e.name); //对象属性
function add(a,b){/*函数定义,不指定返回值,参数不指定类型*/
return a+b;
}
function add(a,b,c){
if(!b)b=100; //判断null,undefined,false
return c(a,b);
}
var fun = function(a,b,c); //变量值为函数
fun(11,22,function(c,d){ //匿名函数
alert(c+d);
})
null(空),NaN(计算失败),undefined(非法运算,未定义)
BOM
- Browser Object Model(浏览器对象模板)
- navigator:浏览器基本信息(浏览器兼容)
- navigator.product
- Screen:用户屏幕信息
- screen.deviceXDPI
- History:浏览器历史
- history.back():等同于在浏览器点击后退按钮
- history.forward():等同于在浏览器点击前进按钮
- history.length;浏览器历史
- Location:获取当前页面地址(URL),并把浏览器重定向到新页面
- location.reload:刷新
- locating.href:转到目标地址
- window:所有BOM对象的上级
-
窗口方法:
window.open(“http://www.baidu.com”,"_self");
window.open(“index.html”,"_new",“width:100px;height:100px”);
this.resizeTo(300,500);
this.close();
window.moveTo();
window.scrollBy();
-
对话框方法
alert() ;//消息对话框
if(confirm("yes/no")) //选择对话框
alert("yes");
var str = prompt("input"); //录入对话框
alert(str);
-
计时器
var pos;
function ok(){
pos = setTimeout(function(){
alert("ok");
},3000)
}
function size(){
clearTimeout(pos);
}
DOM
document object model:文档对象模板(每个标签就是对象)
-
获取对象
-
标签id属性为变量名
mydiv.innerHTML = " ";
-
使用getElementById
var d = document.getElementById(“my”);
d.innerHTML = “111”;
-
使用
var d = document.getElementsByTagName();
d[0].innerHTML = “111”;
-
使用
var d = document.getElementsByClassName();
d[0].innerHTML = “111”;
-
修改对象
- value 值/input
- name
- innerHTML
- style
- class classList
d[1].style.color="#0f0"; //操控css
var left = d[1].offsetLeft;//只读
-
创建删除
-
追加标签
-
第一种
var d = document.getElementsByTagName(“div”);
var a = document.createElement(“a”);
a.href = “#”;
a.innerText = “我的”;
d[0].appendChild(a);
-
第二种
var d = document.getElementsByTagName(“div”);
d[0].innerHTML = “qwe”;
-
删除标签
var d = document.getElementsByTagName(“a”);
d[1].parentElement.removeChild(d[1]);
-
事件:(冒泡事件:点击子标签,父级标签联动响应)
- onclick = “ok”; //标签加入事件
- window.onload = function() //js脚本加入事件
- event 对象, 事件对象(公共事件)
- this对象,事件源自身
面向对象
var user={name:"lhy",sex:1,mov:function(x,y){
alert(x+y);
},sub:[2,12,"233"]}; //prop
alert(user.name);
user.mov(10,11);
alert(user.sub[2]);
function user(name){ //类,构造方法
this.name = name; //实例变量
this.mov = function(){ //实例方法
add();
}
function add(){ //私有方法
alert(sex);
}
var sex = 0; //私有变量
}
var u = new user("lhy");
u.mov();
- 继承
- 原型继承
function user(){
}
user.prototype.age=100;
var u = new user();
alert(u.age);
- call继承
function user(){
this.age=21;
}
function myuser(){
user.call(this);
this.name="lhy";
}
var u = new myuser();
alert(u.name)
alert(u.age);
Cavas:绘制图片
调试
- console.log(),相当于syso输出
ajax
- Asynchronous Javascript And XML(异步 JavaScript 和 XML 或者是 HTML)
- 发出异步请求(web服务器),非刷新请求
- 步骤:
- var hr = new XMLHttpRequest(); //创建
- hr.open(“GET”,“js/a.json”); //设置
- hr.send(); //发送,可带参数发送
- hr.onreadystatechange; //状态改变
function sendmsg(){
var hr = new XMLHttpRequest(); //创建
hr.open("GET","js/a.json"); //设置
hr.send(); //发送,可带参数发送
hr.onreadystatechange=function(){
if(hr.readyState==4){ //判断状态
var str = hr.responseText; //回应内容
var obj = eval("("+str+")");//json对象转换为prop
mya.innerText = obj.name;
}
}
console.log()
}
- 异步请求处理:
- 先定义onreadystatechange再发送
- json:
- 与prop对象一致,不能加方法
- 键值必须加“”,值,数字,Boolean可以不加“”;
- 字符:{ }-对象;[ ]-数组;键:值;键:值;数组和对象可无限嵌套
Bootstrap(css框架)
- cdn服务器:内容分发网络
- css定制样式(控件,标签)
- css栅格(动态布局)
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
- 根容器:
- .container(固定宽度)
- .container-fluid(100%宽度)
- 创建行,操作列(列不需要创建,12列)
<div class="row"> //每行
<div class="col-md-6 col-sm-10"
style="height: 100px;background: #f0f;">div>
<div class="col-md-6 col-sm-2"
style="height: 100px;background: #f00;">div>
div>
摆放不开(12个列超出)自动换行
- .clearfix:列可能会出现比别的列高,列高对齐
- con-mod-4:将列向右侧偏移
- col-md-push-3:列排序
- .hidden-xs:隐藏
- .visible-xs:显示
- js工具(控件控制)
- jQuery 强依赖
jQuery(js工具库)
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js">script>
选择器
- $(" 标签/.class/#id")
与css选择器一致
$(“a”)
获取选择的数量
$(“a”).length
转换jQuery到js标签对象:$(js标签对象)[index]
1. 索引转换
2. jQuery自带get(index)转换
var HtmlElement=$(“div”)[0];
转换js对象到jQuery:$()括起来就是jQuery对象
var a = document.getElementById(“aaa”)
var aa = $(“a”)
alert(aa.length)
方法连用
var aa = ( " a " ) . a d d ( ("a").add( ("a").add((“div”)).add($(“span”))
选择器容器添加,定义变量时加入,否则加入失败
var aa = ( " a " ) . a d d ( ("a").add( ("a").add((“div”))
遍历
var aa = ( " a " ) . a d d ( ("a").add( ("a").add((“div”))
aa.each(function(i,o){ // i索引,o每个js对象
alert(o)
})
检索
-
上级
parent:一级上级
parents:selector 沿上级查询,找到符合条件
$(o).parents(“span”).attr(“aaa”)
-
兄弟
prev:前一个
prevAll:前所有
next:后一个
nextAll:后所有
siblings:查询符合条件的所有兄弟
-
下级
children(expr):一层子元素,直接的孩子节点
find(expr):选择器子孙全部查找
contents():查找下面的所有内容,包括节点和文本
dom操作
-
text():(无参)获取+(有参)设置文本;
-
html( html脚本 ):无参)获取+(有参)设置内容(包括文本,标签);
-
attr( 属性名,值 ):(一个参数)获取属性+(两个参数)设置属性值
-
prop(属性名,值):同attr;
-
val(值):(无参数)获取+(有参)设置value属性
-
css(prop对象):
$(o).css({color:“red”,background:“green”})
如果有减号属性:
1. “background-color”,加上引号
2. backgroundColor,减号后面首字母大写
-
css(属性名,值):(一个参数)获取属性+(两个参数)设置属性值
$(o).css(“color”,“red”)
-
增删
-
增:
$(".aaa").html("">lhy")
var a = $("").attr("href","#").text("说分就分");
$(".aaa").append(a)
-
删:
$(".aaa").remove() //删除自身
$(".aaa").empty() //清空自身内容
-
加载完成
$(function(){
//window.onload,提前加载
})
-
事件:
- 终止冒泡
event.cancelBubble = true;
$(function(){
//$(".classname")
$(document).bind("click",".aaa",function(){
event.cancelBubble = true; //组合$("属性值")使用,解决冒泡问题
alert(1)
})
})
-
bind方法:绑定事件()
动画
-
隐藏和显示 HTML 元素
hide() 和 show()
-
淡入淡出效果
fadeIn() fadeOut() fadeToggle() fadeTo()
-
滑动效果
slideDown() slideUp() slideToggle()
$(".bbb").hide(5000,function(){ //动画时间,回调方法
alert(1);
});
-
自定义动画: animate()
$(".bbb").animate({width:“50px”,height:“50px”},2000);
Ajax
$.post(“a.json”,{},function(json){
},“json”);
$.ajax({
type: 'post',
url: 'a.da',
dataType: 'json', 返回对象类型
async:true,
contentType:"application/x-www-form-urlencoded"
'application/json' 后台处理json
'multipart/form-data' 文件
data:{} 请求参数
success:function(JSON){
//结果处理
}
你可能感兴趣的:(前端)