Javascript 禁用站点上的滚动并使用滚动调整图像大小
在我的网站上,我有一个100%宽度的图像,当用户向下滚动时,我会调整图像的大小,直到达到某一点 当图像在滚动上调整大小时,我不希望站点的其余部分滚动。当达到正确的图像大小时,应启用滚动,以便用户可以自由滚动 我记得苹果曾经在iMac产品网站上使用过这种效果。也许有一个图书馆或者更好的方法来实现这一点 我曾尝试在页面容器div上使用绝对位置,然后也调整了scroll上的位置<代码>$('.profile.absolute').css('top',scrollY+'px')原则上它可以工作,但在移动设备上它会上下跳动几个像素,看起来不太好 如何使页面“冻结”,直到图像具有正确的大小Javascript 禁用站点上的滚动并使用滚动调整图像大小,javascript,jquery,Javascript,Jquery,在我的网站上,我有一个100%宽度的图像,当用户向下滚动时,我会调整图像的大小,直到达到某一点 当图像在滚动上调整大小时,我不希望站点的其余部分滚动。当达到正确的图像大小时,应启用滚动,以便用户可以自由滚动 我记得苹果曾经在iMac产品网站上使用过这种效果。也许有一个图书馆或者更好的方法来实现这一点 我曾尝试在页面容器div上使用绝对位置,然后也调整了scroll上的位置$('.profile.absolute').css('top',scrollY+'px')原则上它可以工作,但在移动设备上它
.photo_main_float {
position: fixed;
width:calc(100vw - 30px);
}
window.onscroll=function() {
var scrollY=window.scrollY;
var scrollR=115;
if (scrollY > 0 && scrollY < scrollR && $('.photo_main').hasClass('photo_main_float')) {
var scrollSoFar = scrollY / scrollR * 100;
var img_size = 100-scrollSoFar;
$('.photo_main').width('calc('+img_size+'% - 30px)');
}
if (scrollY > 0 && scrollY > scrollR) {
$('.photo_main').removeClass('photo_main_float');
}
};
.photo\u main\u float{
位置:固定;
宽度:计算(100vw-30px);
}
window.onscroll=function(){
var scrollY=window.scrollY;
var-scrollR=115;
if(scrollY>0&&scrollY0&&scrollY>scroller){
$('.photo_main').removeClass('photo_main_float');
}
};
请记住,明确要求提供图书馆之类的服务是解决问题的好方法。无论如何,它是一个流行的动画库。您可以使用GreenSock的插件将动画绑定到页面滚动。至于让页面冻结,你不需要。相反,您可以在页面中添加一个间隙,并随着滚动移动元素(通过更新其位置或使用位置:fixed
),使其看起来保持在原来的位置。将其固定并插入一个临时div,其高度可激活滚动。谢谢。谢谢你的链接,我会查出来的。