我是靠谱客的博主 高挑路灯,最近开发中收集的这篇文章主要介绍滚轮事件、拖拽、回调函数 12,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

day12 js特效动画

1.滚轮事件

  • 添加滚轮事件:
    • chrome、ie : onmousewheel
    • ff:添加一定要通过事件绑定方式添加 addEventListener(“DOMMouseScroll”)
  • 滚动方向:
    • chrome、ie : ev.wheelDelta 上120 下-120
    • ff: ev.detail 上-3 下 3
var oDiv = document.getElementsByTagName("div")[0];
//1.添加滚轮事件
oDiv.onmousewheel = scroll;
if (oDiv.addEventListener) {
oDiv.addEventListener("DOMMouseScroll", scroll)
}
//2.声明一个滚动事件发生时调用的函数
function scroll(ev) {
var oEv = window.event || ev;
//console.log(oEv.wheelDelta); //chrome ie
//console.log(oEv.detail);//ff
var tag = true; //上--true
下--false
if (oEv.wheelDelta) {
tag = oEv.wheelDelta > 0 ? true : false
} else {
tag = oEv.detail < 0 ? true : false
}
if (tag) {
console.log("上");
} else {
console.log("下");
}
}

2.拖拽

  • 按下–onmousedown
  • 移动–onmousemove 拖拽
  • 松手–onmouseup
  • 顺序
    • 添加按下事件
    • 添加移动事件
    • 在移动事件里面移动元素(元素随鼠标的位置移动)
    • 添加抬起事件,停止移动(移动事件取消掉)
    • 问题:鼠标一动就到了元素的左上角
    • 希望:鼠标按那,就在那
    • 解决:移动元素的位置,鼠标按那,就在那
 //1.按下
oDiv.onmousedown = function (ev) {
var oEv = window.event || ev;
// var x = 鼠标的位置-元素的位置
var x = oEv.clientX - oDiv.offsetLeft;
var y = oEv.clientY - oDiv.offsetTop;
//2.移动
document.onmousemove = function (ev) {
var oEv = window.event || ev;
//4.获取鼠标位置
var l = oEv.clientX - x;
var t = oEv.clientY - y;
//3.让元素移动
oDiv.style.left = l + "px";
oDiv.style.top = t + "px"
}
//3.松手
document.onmouseup = function () {
//取消移动事件
document.onmousemove = null;
if (oDiv.releaseCapture) {
oDiv.releaseCapture();
}
}
if (oDiv.setCapture) {
oDiv.setCapture();
}
return false; //IE低版本不兼容
}

3.有缓冲运动

1.从当前运动500 (在当前基础上+速度) ---- 》 到目标值

2.来回

3.封装(使用–width,height,left,top) —》opacity

4.透明度

5.任意属性运动

6.抽屉式运动 移入–500 离开–100 抽搐

7.多属性运动

8.不能所有元素到目标点停

4.回调函数

回调函数callback:某个动作或者是某个行为执行完以后调用的函数,是解决异步操作的有效途径

异步:在做某一个操作的时候,其他的操作可以继续执行 定时器

同步:在做某一个操作的时候,其他的操作只能等待 alert for

console.log(1);
setTimeout(function(){ //回调函数
console.log(2);
},1000);
console.log(3);

最后

以上就是高挑路灯为你收集整理的滚轮事件、拖拽、回调函数 12的全部内容,希望文章能够帮你解决滚轮事件、拖拽、回调函数 12所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(98)

评论列表共有 0 条评论

立即
投稿
返回
顶部