js 滚动到指定位置显示或隐藏元素

本文介绍了一个使用jQuery实现的页面滚动监听效果案例。当页面滚动到一定距离时,元素淡入显示;反之则淡出隐藏。具体实现涉及jQuery的scroll事件及scrollTop属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. $(function(){  
  2.     $(window).scroll(function(){  
  3.         var scroll_top=$(window).scrollTop();  
  4.         console.log(scroll_top)  
  5.         if(scroll_top>=200){  
  6.             $("#lianxi").fadeIn();  
  7.         }else{  
  8.             $("#lianxi").fadeOut();  
  9.         }  
  10.     })  
  11. })
### 使用 Vue.js 实现滚动监听并触发元素显示 为了实现在页面滚动到特定位置显示某个元素的功能,可以利用 `IntersectionObserver` API 者通过监听窗口的 `scroll` 事件来检测目标元素是否进入视口范围。下面展示如何基于这两种方法之一,在 Vue 组件内完成此功能。 #### 方法一:使用 IntersectionObserver API 这种方法更加高效且易于管理,因为它不需要频繁地处理全局 scroll 事件。只需要配置好观察器选项即可让浏览器自动通知何时满足条件。 ```javascript export default { data() { return { isVisible: false, observer: null }; }, mounted() { this.observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { this.isVisible = true; // 停止观察该元素以防多次触发 this.observer.unobserve(entry.target); } }); }, { threshold: [0] }); const targetElement = document.querySelector('.target-element'); if(targetElement){ this.observer.observe(targetElement); } }, beforeDestroy() { if(this.observer && 'disconnect' in this.observer){ this.observer.disconnect(); } } } ``` 上述代码片段展示了如何初始化一个 `IntersectionObserver` 来监视具有 `.target-element` 类名的目标 DOM 元素,并在其首次进入屏幕可视区域时设置组件状态变量 `isVisible` 为真[^2]。 对于模板部分,则可以根据这个布尔值控制 CSS 样式的应用: ```html <div v-bind:class="{'show': isVisible}" class="hidden-by-default"> <!-- 需要延迟加载的内容 --> </div> ``` 以及相应的样式规则: ```css .hidden-by-default{ opacity: 0; /* 默认隐藏 */ } .show{ transition: all .5s ease-in-out; transform: translateY(0); opacity: 1 !important;/* 显示出来 */ } ``` 这样就实现了当页面滚动指定位置时动态改变元素可见性的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值