一.事件1.加载Dom两种方式 window.onload方式
执行时间:整个网页中所有内容(包括图片)加载完成后,才会执行
编写个数:一个html内只能编写一个,不然会覆盖
jQuery方式
执行时间:网页结构绘制完成后,执行
编写个数:一个html内能编写多个
两个都有的情况下执行顺序
jQuery3.0版本:window.onload比jQuery先执行
jQuery1.0和2.0版本:jQuery比window.onload先执行
测试两种方式的区别(个数+顺序)
window.onload方式
//原生态JavaScript加载DOM的方式
window.onload = function{
alert(123);
};
//给定一个函数
function.myload(){
alert(123)
};
//通过onload调用
window.onload = myload();
//添加事件监听的方式
//该方式可以出现多次
window.addEventListener('load',function(){
alert(123)
})
window.addEventListener('load',function(){
alert(456)
})
jQuery方式
//完整写法
$(document).ready(function(){
alert(123)
})//简写
$(function(){
alert(123)
})$(document).on('load',function(){
alert(123)
});
2.绑定事件两种方式 例题
1.绑定时间的两种方式on元素.事件
点击获取 2.合成|切换事件hover()toggle()
元素.on/bind("事件名",function(){})
$("#oBth1").on('click',function(){
alert(123);
})
$("#oBth1").bind('click',function(){
alert(123);
})
元素.事件名(function(){})
$("#oBth1").click(function(){
alert(123);
})
3.合成事件/事件切换 hover():鼠标悬停合成事件
$("#oDiv").hover(function(){
//移入显示
$(this).addClass("over");
},function(){
// 移出隐藏
$(this).removeClass("over");
});
toggle():鼠标点击合成事件
$("#oBtn2").click(function(){
//没有传递参数调用后立即隐藏于显示
// 有参数(毫秒)调用后 有延时效果
$("#oDiv").toggle(function(){
alert("隐藏");
},function(){
//运行结果,前面的被覆盖掉
alert("出现");
});
});
4.事件传播 传播:小——中——大
阻止传播:后面加上return false
//当大的和小的标签同时被设置同一事件,小的被触发,大的也会跟着被传递触发
$("body").click(function(){
alert(123);
});
$("#oBtn2").click(function(){
alert(456);
//return false;
防止事件的传播
return false;
});
5.事件坐标
$("body").click(function(){
//鼠标
//pageX 横坐标 pageY 纵坐标包含间隙
console.log(event.pageX,event.pageY);
//left和top body有默认的margin和padding值
//offsetX 横坐标(不包含间隙) offsetY 纵坐标
// console.log(event.offsetX,event.offsetY);
//窗口
console.log(event.clientX,event.clientY);
});
6.移除事件
// 按钮只能点击一次
/*
$("#oBtn3").click(function(){
alert(123);
//一次性作用通过调用解绑事件即可
// 1.
// $(this).off();
// 2.
$(this).unbind();
//解绑事件
});
*/// 3.
// var flag =true;
// $("#oBtn3").click(function(){
//if(flag === true){
//alert(123);
//flag = false;
//}
// });
// 4.
//jQuery中提供一个方法 one
// $("#oBtn3").one('click',function(){
//alert(123);
// });
// 按钮点击偶数次可行 奇数不行
var num =1;
$("#oBtn3").click(function(){
if(num % 2===0){
// alert(123);
alert("点击了"+num);
}
num++;
console.log(num)
});
二.动画效果
$(function(){
//1.opacity透明属性
//隐藏 hide();
$("#btn2").click(function(){
$(div).hide();
//没有参数,立刻隐藏
$("div").hide(5000);
//延时效果
});
//显示 show();
$("#btn1").click(function(){
// $("div").show();
//$("div").show(1000);
});
//显示与隐藏toggle();
$("#btn3").click(function(){
$("div").toggle(1000);
});
//滑动上slideUp();
$("#btn4").click(function(){
$("div").slideUp(1000);
});
//滑动下sildeDown();
$("#btn5").click(function(){
$("div").slideDown(1000);
});
//滑动上下sildeToggle();
$("#btn6").click(function(){
$("div").slideToggle(1000);
});
// 淡入
$("#btn7").click(function(){
$("div").fadeOut(1000);
});
// 淡出
$("#btn8").click(function(){
$("div").fadeIn(1000);
});
$("#btn9").click(function(){
$("div").fadeToggle(1000);
});
$("#btn10").click(function(){
$("div"). animate({
width:"500px",
height:"500px"
},3000);
});
$("#btn11").click(function(){
$("div"). animate({
left:"+=50px",
top:"+=3px"
},3000);
});
});
【jquery|jQuery_04(事件&动画)】
推荐阅读
- javascript|javascript函数中的返回值
- 前端|jQuery04——jquery插件
- 学习笔记|学习笔记之JavaScript——知识点(2)
- 【JavaScript高级程序设计】知识点小结 II
- Leetcode977有序数组的平方(双指针解法)
- 统一前端代码风格
- demo|基于spring、mvc和easy UI的驾校后台管理系统
- JS持续更新中
- 前端|HTTP的特点以及状态码