同一元素有横向和纵向滚动,只想对纵向滚动做防抖
可以通过滚动事件对象的 deltaX 和 deltaY 属性值来判断。
思路是横向滚动scrollTop
不会变化, 对做监听scrollTop
, 需要做的防抖处理在这里做
<template>
<div>
<div
class="horizontal-scroll-wrapper"
id="fixed"
>
<div class="item1">item 1</div>
<div>item 2</div>
<div>item 3</div>
<div>item 4</div>
<div>item 5</div>
<div>item 6</div>
<div>item 7</div>
<div>item 8</div>
</div>
</div>
</template>
<script>
export default {
name: 'index',
data () {
return {
scrollTop: 0
}
},
watch : {
scrollTop (newVal, oldVal) {
console.log(2);
}
},
mounted () {
var fixedDom = document.getElementById('fixed');
var items = fixedDom.querySelectorAll('.item1')
console.dir(fixedDom);
fixedDom.addEventListener('scroll', (event) => {
const { scrollTop } = event.target; // 获取当前滚动条的水平偏移量
const visibleItems = [];
// for (let i = 0; i < items.length; i++) {
// const item = items[i];
// const itemRect = item.getBoundingClientRect(); // 获取子元素相对视窗的位置信息
// if (itemRect.left >= scrollLeft && itemRect.right <= scrollLeft + fixedDom.clientWidth) {
// visibleItems.push(item);
// }
// }
this.scrollTop = scrollTop
console.log(`容器水平偏移量:${scrollTop},可见子元素有:`, visibleItems);
});
},
}
</script>
<style lang="css" scoped>
.horizontal-scroll-wrapper {
width: 500px;
display: flex;
background: #abc;
overflow-x: auto;
gap: 10px;
height: 100px;
}
.horizontal-scroll-wrapper > div {
display: block;
background: #cab;
width: 100px;
height: 250px;
flex-shrink: 0;
}
</style>
导航条示例 滚动监听插件会根据滚动的位置,自动更新导航条的目标。滚动在导航条下面的区域,查看active类的改变。弹出菜单的子项也同样会被高亮。 用法 需要Bootstrap导航条 Scrollspy currently requires the use of a Bootstrap nav component for proper highlighting of active links. 滚动
滚动监听是一个 jQuery 插件,用于追踪某一确定元素并且元素目前处于用户屏幕的焦点。我们的示例在每个文档页的右边。单击这些链接将滚动到页面元素的位置。 表格内容的结构 <div class="row"> <div class="col s12 m9 l10"> <div id="introduction" class="section scrollspy"> <p>内容 </p>
本文向大家介绍vue监听滚动事件实现滚动监听,包括了vue监听滚动事件实现滚动监听的使用技巧和注意事项,需要的朋友参考一下 在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
主要内容:用法,实例,选项,方法,实例,事件,实例,更多实例,实例,实例滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动,基于滚动条的位置向导航栏添加 .active class。 如果您想要单独引用该插件的功能,那么您需要引用 scrollspy.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js。
主要内容:如何创建滚动监听,实例,实例滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动。 如何创建滚动监听 以下实例演示了如何创建滚动监听: 实例 <!-- 可滚动区域 --> <body data-spy="scroll" data-target=".navbar" data-offset="50"> <!-- The navbar - The <a> el
问题内容: 我在寻找解决方案时遇到了麻烦。我正在尝试使用JS(或其他库)来制作它,以便当用户在鼠标滚轮上向下滚动时,页面以与通常相反的方式滚动。 基本上,我希望页面的底部首先显示,并且随着用户滚动,我希望屏幕的顶部向下显示。我能够找到的唯一示例是http://conduit.com/的右列。 我已经建立了一个JSFiddle并提供了一个示例来帮助对其进行可视化。我知道这可能与以下内容有关: 但老实