首页 > 其他分享 >滚动知识点

滚动知识点

时间:2024-01-09 18:37:54浏览次数:26  
标签:知识点 优先级 false sTop 侦听器 window 阶段 滚动

function pageChange () {
    // ... 页面滚动时,须要作的事情
}
window.addEventListener("scroll" , pageChange, false);

一、使用 window.addEventListener 和 document.addEventListener 来处理页面上的事件,区别仅仅在于:不一样事件模型上,处理的顺序不同。浏览器

  • 捕获,window 先于 document
  • 冒泡,document 先于 window


二、参数
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false)函数

1) type: String 事件的类型性能

2) listener: Function 侦听到事件后处理事件的函数动画

3) useCapture: Boolean(default = false)
这里牵扯到“事件流”的概念。
侦听器在侦听时有三个阶段:捕获阶段、目标阶段和冒泡阶段。
顺序 为:捕获阶段(根节点到子节点检查是否调用了监听函数)→code

目标阶段(目标自己)→
            冒泡阶段(目标自己到根节点)。

此处的参数肯定侦听器是运行于捕获阶段、 目标阶段仍是冒泡阶段。
若是将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。 若是useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。 事件

要在全部三个阶段都侦听事件,请调用两次 addEventListener,一次将 useCapture 设置为 true,第二次再将useCapture 设置为 false。

4) priority: int (default = 0)
事件侦听器的优先级。
优先级由一个带符号的 32 位整数指定。
数字越大,优先级越高。
优先级为 n 的全部侦听器会在优先级为 n -1 的侦听器以前获得处理。 若是两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。
默认优先级为 0。rem

5) useWeakReference:Boolean (default = false)   
肯定对侦听器的引用是强引用,仍是弱引用。
强引用(默认值)可防止您的侦听器被看成垃圾回收。 弱引用则没有此做用。

function getScrollTop() {
    return window.pageYOffset 
        || document.documentElement.scrollTop  
        || document.body.scrollTop  
        || 0;
}

其中,pageYOffset 属性返回文档在窗口左上角垂直方向滚动的像素

/* 滚动动画
   s: 当前页面滚动高度
   sTop: 指定位置滚动高度
 */
function tabAnimation(s, sTop) {
    var type = s < sTop ? true : false; // true 页面上滑

    var timmer = requestAnimationFrame(function fn() {
        if (type) { s+=50 } 
        else { s-=50 }
        if((type && s > sTop) || (!type && s < sTop)) {
            // $el.scrollTop = sTop;
            window.scrollTo(0, sTop); 
        } else {
            // $el.scrollTop = s;
            window.scrollTo(0, s); 
          timmer = requestAnimationFrame(fn);
        }
    });
}








































































标签:知识点,优先级,false,sTop,侦听器,window,阶段,滚动
From: https://blog.51cto.com/u_15716707/9163969

相关文章

  • 计算机体系结构之并行机制知识点总结
    cpu支持哪些指令集,是硬件结构决定的,还是软件方式实现的?CPU支持的指令集是由其硬件结构决定的。指令集是一组与硬件交互的底层机器指令,它定义了CPU能够执行的基本操作,包括算术运算、逻辑操作、内存访问等。不同的CPU架构具有不同的指令集。在硬件层面,CPU的设计决定了它支持......
  • vim知识点总结
    何为vimVim(ViIMproved)是一款强大的文本编辑器,是经典的Vi编辑器的增强版本。Vim支持多种编程语言和文件格式,具有高度的可定制性和强大的功能,被广泛用于程序开发、文本编辑等领域。以下是一些Vim的主要特点和用法:模式:普通模式(NormalMode):在这个模式下,按键用于移动光标、删......
  • CUDA统一内存知识点总结
    背景及概念在典型的个人计算机或集群节点中,CPU和GPU的内存物理上是分离的,通过PCI-Express总线连接。在CUDA6之前,程序员必须将共享数据分配到两个不同的内存中,并显式复制,给CUDA程序带来了繁琐的复杂性。CUDA6.0于2014年发布,UnifiedMemory(UM)就是本次发布引入的。UM允许开发者在......
  • 多线程(互斥锁,条件变量,虚假唤醒)知识点总结
    互斥锁mutexC++11一共提出四种互斥锁std::mutex:独占的互斥锁,不能递归使用std::timed_mutex:带超时的独占互斥锁,不能递归使用std::recursive_mutex:递归互斥锁,不带超时功能std::recursive_timed_mutex:带超时的递归互斥锁1.mutexmutex有三个成员函数:voidlock();booltry_loc......
  • 异构编程模型知识点总结
    如何理解“异构”异构环境指的是计算系统中包含不同类型和架构的计算资源的情况。这些计算资源可能拥有不同的体系结构、处理器类型、内存层次结构、加速器等。在异构环境中,系统可以包含多个不同类型的硬件设备,例如:CPU(CentralProcessingUnit):通用的中央处理器,负责执行通用计算......
  • Android多行横向来回自动滚动
    使用自定义RecyclerView实现,先看效果,能用得上的再继续往下看……上代码~自定义AutoRollRecyclerView,继承RecyclerView,重点只有这一个类classAutoRollRecyclerView@JvmOverloadsconstructor(context:Context,attrs:AttributeSet?=null):RecyclerView(context,a......
  • Golang Defer 必会知识点
    Golang中的一个关键字,用于延迟执行指定的函数调用。在程序执行到defer语句时,该函数调用会被推迟到当前函数返回之前执行,无论当前函数是正常返回还是发生异常退出。Defer语句可以用来在函数执行完毕后清理资源,确保资源的释放不会被遗漏。通过使用defer,我们能够更好地管理和控......
  • 【Log4j2】Log4j2最佳实践:Log4j2配置超过7天压缩,超过3个月删除文件的滚动日志,分别定义
    目录Log4j2配置springboot多环境日志配置参考资料Log4j2配置如果你想要在控制台输出美化的日志信息,你可以使用Log4j2的ConsoleAppender和AnsiColorConverter来实现。下面是相应的配置示例:<Configurationstatus="WARN"><Properties><Propertyname="logPath">/path/t......
  • uniAPP IOS 端关闭滚动回弹效果
    进入pages.josn文件找到想要禁止回弹的页面,在对应的style中添加以下代码:{ //我的页 "path":"pages/mine/mine", "style":{ "navigationBarTitleText":"", "navigationStyle":"custom",//隐藏系统导航栏 &quo......
  • Linux 静态链接和动态链接相关知识点总结
    staticlibrary和sharedlibrary的区别静态库(StaticLibrary)和共享库(SharedLibrary)是两种不同的库的形式,它们在链接和加载的方式上有一些关键的区别。静态库(StaticLibrary):文件格式:静态库的代码和数据在编译时被复制到程序的可执行文件中。文件扩展名:在大多数系统中,静态......