Jquery 动画滚动事件
Jquery animate scroll event?
我有这个代码
$(document).scroll(function() {
var $window = $(window);
var position = $window.scrollTop();
if(position <= 2950){
$(".lion_head").animate({right: "-100px"}, 2000);
};
});
那么如果我从2950px
滚动,.lion_head
会从右-100px
移动,我想要的是当我向下滚动,或者向上滚动,或者当我的滚动条不在2950px
上时,我的.lion_head
的位置移动到原来的位置?
谢谢。
尝试将代码包装在 $(window).on('scroll', function(e){ ... });
中。
在事件函数旁边,执行动画逻辑。
$(window).on('scroll', function(e){
var position = $(window).scrollTop();
if(position <= 2950){
$(".lion_head").animate({right: "-100px"}, 2000);
}
else{
$(".lion_head").animate({right: "0"}, 2000);
}
});
有关更多详细信息,请参阅 jQuery.scroll。
使用纯 JavaScript
var lionHead = document.querySelector(".lion_head");
window.addEventListener("scroll", function(event) {
this.scrollY <= 2950 ? lionHead.classList.add('fixed') : lionHead.classList.remove('fixed')
}, false);
风格
.lion_head{transition:all .3s ease}
.fixed{right: -100px}
这是完整的插图,上下滚动以查看它的实际效果:
var lionHead = document.querySelector(".lion_head");
window.addEventListener("scroll", function(event) {
this.scrollY <= 2950 ? lionHead.classList.add('fixed') : lionHead.classList.remove('fixed')
}, false);
:root{height: 4000px}
.lion_head{
width: 150px;
height: 150px;
background: orange;
position: fixed;
top: 60px;
right: 80vw;
transition:all .3s ease
}
.fixed{right: -100px}
<div class=lion_head></div>
相关文章:
- 只覆盖箭头键滚动事件
- Javascript如何找到滚动事件的来源
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- jquery/ajax无限滚动事件
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 如何用javascript调用函数,然后在滚动事件中调用该函数的特定实例
- 将事件列表滚动到给定月份的第一个事件
- '滚动'事件未在CompositeView中激发
- 从父元素取消绑定滚动事件并绑定到子元素
- JavaScript/jQuery未触发滚动事件
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- Javascript鼠标滚轮事件滚动
- 点击未触发溢出事件:滚动
- 将jquery事件滚动与“;在“上”;
- actionscript 3-as3中的鼠标事件滚动flash和html.有没有办法停止使用javascript
- jquery和事件滚动