周总结-JQuery

浮动

<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.div1 {
				width: 180px;
				height: 100px;
				background-color: red;
				float: left;
			
			}
			
			.div2 {
				width: 100px;
				height: 120px;
				background-color: blue;
				float: left;
				/*clear: left;*/
			}
			
			.div3 {
				width: 200px;
				height: 90px;
				background-color: cyan;
				float: left;
			}
			
			.div4 {
				width: 150px;
				height: 100px;
				background-color: yellowgreen;
				/*clear: both;*/
			}
		</style>
	</head>

	<body>
		<div class="div1"></div>
		<div class="div2"></div>
		<div class="div3"></div>
        <div class="div4"></div>
	</body>

div是块级元素,一个div在页面中独占一行,多个div自上而下排列,也就是传说中的标准流中的div。

那么如何做到在一行显示多个div元素呢? 浮动来处理。其核心功能是解决水平布局问题。

浮动可以理解为让某个div元素脱离标准流, 漂浮在标准流之上,下一个元素顶替位置,和标准流不是一个层次。

(1) div2浮动,脱离标准流,div1、div3、div4仍然在标准流当中,div3会自动向上移动,占据div2的位置,重新组成一个流。

(2) div2, div3都浮动。

重点 当同时对div2、div3设置浮动之后,div3会跟随在div2之后。div2在每个例子中都是浮动的,但并没有跟随到div1之后?

结论 若某个div元素A是浮动的,如果它上面元素也是浮动的,那么A会跟在上一个元素的后面,如果一行放不下这两个元素,那么A元素会被挤到下一行;如果它的上个元素在标准流中,那么A元素的相对垂直位置不会改变,即A的顶部会和上个元素的底部对齐。

所以, div2, div3都浮动,不再属于标准流,div4会自动上移,与div1组成一个“新”标准流,因设置宽高可能会被遮挡。

clear:left 是消除浮动产生的影响。如此例中,div2中使用了,它仍然是在div1的垂直位置下方,这方面相当于没用浮动似的,但其实是漂浮在标准流上的,其他元素可以顶替其位置。div3,div4仍是标准流中的元素,依旧会向上顶替float元素的位置。

HTML DOM事件

焦点事件 获取焦点 onfocus 失去焦点 onblur

鼠标事件 鼠标按下 onmousedown, 鼠标弹起 onmouseup,鼠标移动onmousemove , 鼠标移到某元素上onmouseover 鼠标从某元素移开 onmouseout

键盘事件 键盘按下,onkeydown, onkeypress 键盘弹起 onkeyup

点击事件 单击 onclick 双击 ondblclick

值发生变化事件 onchange

提交事件 onsubmit

加载事件 onload

重置按钮被点击 onreset

onunload

HTML DOM 元素节点 添加和删除,替换节点(HTML 元素) https://zixuephp.net/manual-javascript-720.html

javascript 嵌入到html网页方式:

(1)外部定义js文件,不要写 script标签(可以远程,可以本地),通过script标签引入

(2)网页中直接通过script标签定义代码块 javascript代码放在script标签中.script标签可以放在html的任何地方,一般建议放在head标签里.

 <script type="text/javascript" src="jquery/jquery3.4.1.min.js"></script>	
 <script type="text/javascript">          
 //在这里面写你的js代码      
 </script>

数据类型

Number 数字 BigInt(存储很大的数值) 数值后加n,或BigInt(数值);

String 字符串

Boolean 布尔值

Object 对象 Array 数组 Function RegExp Date Json

Undefined

Null

java中类型 + 变量名,js 中通过关键字var + 变量名 ,变量声明时不需要说明类型,并且可以随时赋值改变数据类型。var可以省略

console.log(); console.log(“sname 的类型:” + (typeof sname)) alert("");

//定义Array
var nums = [34,true,"hello"];
//遍历数组
for(var idx in nums){
	//console.log(idx);//输出的是下标
	console.log(nums[idx]);//输出的是值
}

for(var i = 0; i < 10; i++) {
  // 循环10次
}

var stu = '';  0
	if(stu){
		console.log(true);
	}else{
		console.log(false);
	}  //false


//定义一个简单的function,模拟java中的方法
<script type="text/javascript" >
	function simple(){
			alert("普通方法");
	}
			
	simple();
	console.log((typeof simple)); //function

var simple2 = function(){
    
}
---------------------------------------------------
</script>
//自调用函数
(function sayHello(sname){
    alert("你好" + sname);
})("zhangsan");//函数内定义变量只在function内作用
(function sayHello(sname,win){
	 alert("你好" + sname);
	 console.log(sname);
		 win.sname = sname;
	})("zhangsan",window);//提升了sname的作用域
	sname="lisi";
	console.log(sname);
----------------------------------------------------
模拟java中的类,以及创建对象
<script>
		function Student(sname,age){
			this.sname = sname;
			this.age = age;  //属性public,把属性绑定到对象上
			var gender = "保密"; //属性是private
			this.sayName = function(){
				console.log(this.sname);
			}
				
			this.getGender = function(){
				return gender;
			}
				
			this.setGender = function(gender1){
				gender = gender1;
					
				}
			}
			
			var stu = new Student("zhangsan",19);
			console.log(stu.age);
			console.log(stu.sname);
			console.log(stu.gender); //undefined
			console.log(stu.getGender());
			stu.setGender("女");
			console.log(stu.getGender());
		</script>
定义对象2  var stu = {name:"zhangsan" , sex:"男" , age:22, score:98.5};
			console.log(stu.name);

JQuery

1.Jquery与js的关联:

1.js是网页脚本语言,类似java是一种开发常用语言;

2.jQuery是基于js语言封装出来的一个前端框架;

所以最本质的区别是js是一种语言,而jQuery是基于该语言的一种框架。

**Jquery是js类库,是对原生js的封装。**要使用Jquery需要导入一个第三方的javascript库,

jQuery本质上就是一段普通的JavaScript代码, 通常使用引入外部JS的方式来使用jQuery

<script type="text/javascript" src="js/jquery.js"></script>

基础语法: $(selector).action()

  • 美元符号$定义 jQuery
  • 选择符(selector)“查询"和"查找” HTML 元素
  • jQuery 的 action() 执行对元素的操作

实例:

  • $(this).hide() - 隐藏当前元素
  • $(“p”).hide() - 隐藏所有p元素
  • $(“p.test”).hide() - 隐藏所有 class=“test” 的p元素
  • $("#test").hide() - 隐藏所有 id=“test” 的元素

( f u n c t i o n ( ) 实 际 上 是 匿 名 函 数 。 这 是 J Q u e r y 的 语 法 , (function(){ }实际上是匿名函数。这是JQuery的语法, (function()JQuery表示JQuery对象,可以有好几种用法。比如传递选择器字符串、页面对象等,如果直接传函数体进去,表示当页面加载完毕时执行这个函数。

<script>
$(function(){
   $("#b1").click(function(){
      $("#d").hide();
   });
   $("#b2").click(function(){
      $("#d").show();
   });
});
<button id="b1">隐藏div</button>
<button id="b2">显示div</button>
<br>
<div id="d">这是一个div</div>

jquery选择器 $(selector)

selector是选择器表达式,语法基本和CSS选择器一致。

$(“tagName”) 根据 标签名 选择所有该标签的元素,如 $(“div”)

$("#id")根据 id 选择元素 $("#d1")

( " . c l a s s N a m e " ) 根 据 c l a s s 选 择 元 素 如 (".className") 根据 class 选择元素 如 (".className")class(".test")

( " s e l e c t o r 1 s e l e c t o r 2 " ) 选 择 s e l e c t o r 1 下 的 s e l e c t o r 2 元 素 。 如 ("selector1 selector2") 选择 selector1下的selector2元素 。如 ("selector1selector2")selector1selector2(“div#d3 span”) , 选择id=d3的div下的span元素

( s e l e c t o r : f i r s t ) 满 足 选 择 器 条 件 的 第 一 个 元 素 , 如 (selector:first) 满足选择器条件的第一个元素,如 (selector:first)(“div:first”)

( s e l e c t o r : l a s t ) 满 足 选 择 器 条 件 的 最 后 一 个 元 素 , (selector:last) 满足选择器条件的最后一个元素, (selector:last)(“div:last”)

jquery属性

(1)通过attr()获取一个元素的属性(支持自定义属性)

(2)通过attr(attr,value)修改属性

(3)通过removeAttr(attr)删除属性

<script src="jquery/jquery.min.js"></script>
  
<script>
$(function(){
   $("#b1").click(function(){
      alert("align属性是:" + $("#h").attr("align") );
       $("#h").attr("align","right") ;
       $("#h").removeAttr("align");
   });
   $("#b2").click(function(){
      alert("game属性是:" + $("#h").attr("game") );
      
   });
});
  
</script>
  
<button id="b1">获取align属性</button>
  
<button id="b2">获取自定义属性 game</button>
  
<br>
<br>
  
<h1 id="h" align="center" game="LOL">居中标题</h1>

jquery事件

鼠标事件键盘事件表单事件文档/窗口事件
clickkeypresssubmitload 图片加载
dblclickkeydownchangeresize
mouseenter鼠标进入keyupfocusscroll
mousemoveblurunload
mouseout*
jquery效果

显示 隐藏 切换 分别通过show(), hide(),toggle()实现

向上滑动 向下滑动 滑动切换 分别通过slideUp(), slideDown(),slideToggle()实现

淡入 淡出 切换 指定淡入程度 分别通过fadeIn(), fadeOut(), fadeToggle() fadeTo()实现

通过animate 可以实现更为丰富的动画效果
animate()第一个参数为css样式
animate()第二个参数为延时毫秒,div.animate({left:‘100px’},2000);

easyui 前端框架。 封装了jQuery、Vue等前端JS框架,还提供了一套完善的UI组件,比如窗体、表单、表格、树、进度条、手风琴菜单

使用步骤:

1.下载easyui;

2.引入easyui相关的js,css;

<head>

<link rel="stylesheet" type="text/css" href="css/themes/default/easyui.css">
        <link rel="stylesheet" type="text/css" href="css/themes/icon.css">
        <script type="text/javascript" src="js/jquery.min.js"></script>
        <script type="text/javascript" src="js/jquery.easyui.min.js"></script>
        <script src="js/locale/easyui-lang-zh_CN.js" type="text/javascript" charset="utf-8"></script>

</head>

3.需要有一个html标签

比如说:

使用datagrid组件需要添加:

<table id="xxx"></table>

或者创建标签时一并指定样式:

<table id="xxx" class="easyui-datagrid"></table>

4.给标签添加相应的easyui样式(可选)

比如:

按钮

<a class="easyui-linkbutton">EasyUI按钮</a>

窗口

<div class="easyui-window" title="EasyUI窗口"></div>

5.调用easyui相关js方法来初始化。设置组件参数(可选)

// 无参数初始化一个组件
$(selector).组件();
//比如初始化一个日期选择控件
<div id="calendar"></div>
$("#calendar").calendar();


// 有参数初始化一个组件
$(selector).组件({参数key/value形式});
// 示例参见下面的数据表格使用方法



// 调用组件的某个方法
$(selector).组件('组件的方法名');
// 例如:调用窗口的打开方法
$("#win").window('open');

layui前端框架,封装jquery和一套完整的组件样式。

使用步骤:

1.引入layui相关的js,css

<link rel="stylesheet" type="text/css" href="layui/css/layui.css"/>
        <script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>

2.添加样式,或引入js模块

LayUI中的组件分为两种:

一种不要引入单独的模块,直接给原生的DOM元素添加class样式即可,比如按钮、小图标(印章)

另一种需要引入LayUI相关的模块,比如弹出层layer。

练习:轮播图

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>轮播图  淡入淡出效果</title>
		<style type="text/css">
			#img_container{
				margin: 0 auto;
				margin-top: 100px;
				width:745px;
				height:410px;
				border: 1px solid silver;
				position: relative;
			}
			
			#img_container img{
				position: absolute;
				/*z-index: 1;*/
				transition: all 1s; 
			}
			
			.show{
				opacity: 1;
			}
			
			.hide{
				opacity: 0;
			}
		</style>
	</head>

	<body>

		<div id="img_container">
			<img class="hide" src="img/t23.jpg" />
			<img class="show" src="img/t54.jpg" />
			<img class="hide" src="img/t68.jpg" />
			<img class="hide" src="img/t74.jpg" />
			
		

		</div>
		<script type="text/javascript">
			var imgs = document.querySelectorAll("#img_container  img");
			var size = imgs.length;
			var idx = 1;
			function show(n){
				for(var i = 0; i < size; i++){
					imgs[i].className="hide";
				}
				imgs[n].className="show";
				
			}
			
			function begin(){
				if(idx > size){
					idx = 1;
				}
				if(idx < 1){
					idx = size;
				}
				show(idx - 1);
				console.log("当前显示的是第" + idx + "个");
				idx++;
			}
			var timerId = setInterval(begin,2000);
		</script>
	</body>
	
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值