Javascript 如何将轻松设置为滚动绑定功能?
我想做一个垂直的卷轴。在此HTML上:Javascript 如何将轻松设置为滚动绑定功能?,javascript,html,css,animation,scroll,Javascript,Html,Css,Animation,Scroll,我想做一个垂直的卷轴。在此HTML上: <div class="flex-container"> <div class="flex-caption"> <div> <p>.........</p> <h1>..........</h1> </div> </div> <div class="flex-caption">
<div class="flex-container">
<div class="flex-caption">
<div>
<p>.........</p>
<h1>..........</h1>
</div>
</div>
<div class="flex-caption">
<div>
<p>.....</p>
<h1>...........</h1>
</div>
</div>
<div class="flex-caption">
<div>
<p>.............</p>
<h1>........../h1>
</div>
</div>
</div>
然后我更改转换:translateX(0vw)代码>和他的代码:
var captionCont, captionItem;
captionCont = document.querySelector(".flex-container");
window.onscroll = function() {scrollPost()};
function scrollPost () {
var y = window.scrollY;
var x = y / 20;
var i = x * 2;
animator(i);
}
function animator (y){
var captionCont;
captionCont = document.querySelector(".flex-container");
captionCont.style.transform = `translateX(${-y}vw)`
}
然而,我想尝试在滚动这些元素中加入缓和,这样它感觉更像是一个动画,而不仅仅是滚动。但是,我不希望触发动画,我希望1到100%的动画通过滚动绑定
我该怎么做?立方贝塞尔似乎没什么作用
Wubbe遗址
肉桂
赫特·格沃尔·范布卢曼·安德斯·维特尔德
肉桂
TITEL VAN项目VRAAG正在伊恩穆伊津运营
肉桂
赫特·格沃尔·范布卢曼·安德斯·维特尔德
贝基克案件
阿隆泽案件
.说明-2{
溢出:隐藏;
位置:固定;
}
.flex标题{
浮动:左;
}
.柔性容器{
显示:内联flex;
宽度:300vw;
过渡计时功能:立方贝塞尔(.84,.01,.25,1.01);
变换:translateX(0vw);
}
@导入url('https://fonts.googleapis.com/css?family=Open+Sans:300400600’;
正文{
背景大小:100%,100%;
文本对齐:居中;
最大宽度:无;
字体系列:“开放式Sans”,无衬线;
颜色:黑色;
保证金:0;
背景色:黑色;
}
* {
框大小:边框框;
}
.左边距{
左边距:6.25vw;
}
.右边距{
右边距:6.25vw;
}
.页边空白处{
top:5vw;
}
.整页{
宽度:100vw;
高度:100vh;
}
钮扣{
宽度:15%;
背景色:白色;
身高:4rem;
颜色:黑色;
字号:18px;
字体大小:粗体;
}
#我的视频{
位置:固定;
右:0;
底部:0;
最小宽度:100%;
最小高度:100%;
}
#第2页{
背景图片:url(page-2.png);
背景大小:100%,100%;
背景重复:无重复;
背景附件:固定;
背景位置:中心;
背景重复:无重复;
背景尺寸:封面;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.说明-2{
颜色:白色;
高度:70vh;
宽度:100vw;
top:10vw;
z指数:1;
}
.说明-2 p{
字体大小:30px;
字体大小:粗体;
}
.说明-2 h1{
字号:80px;
左边距:15%;
右边距:15%;
}
.标题-2按钮{
顶部:16vh;
位置:相对位置;
}
var captionCont,captionItem;
captionCont=document.querySelector(“.flex容器”);
window.onscroll=function(){scrollPost()};
函数scrollPost(){
var y=window.scrollY;
var x=y/20;
var i=x*2;
动画师(一);
}
函数动画师(y){
var captionCont;
captionCont=document.querySelector(“.flex容器”);
captionCont.style.transform=`translateX(${-y}vw)`
}
包含jQuery.UI脚本,那么您的代码应该如下所示:
$('a').click(function(){
var Top =
$('body').find($(this).attr('href')).offset().top;
$('html, body').animate({
scrollTop: Top
},300, 'easeOutExpo');
return false;
});
我不明白你到底想要什么,你代码片段中的立方贝塞尔也不起作用,因为你没有添加转换
var captionCont,captionItem;
captionCont=document.querySelector(“.flex容器”);
window.onscroll=function(){scrollPost()};
函数scrollPost(){
var y=window.scrollY;
var x=y/20;
var i=x*2;
动画师(一);
}
函数动画师(y){
var captionCont;
captionCont=document.querySelector(“.flex容器”);
captionCont.style.transform=`translateX(${-y}vw)`
}
Wubbe遗址
肉桂
赫特·格沃尔·范布卢曼·安德斯·维特尔德
肉桂
TITEL VAN项目VRAAG正在伊恩穆伊津运营
肉桂
赫特·格沃尔·范布卢曼·安德斯·维特尔德
贝基克案件
阿隆泽案件
.说明-2{
溢出:隐藏;
位置:固定;
}
.flex标题{
浮动:左;
}
.柔性容器{
显示:内联flex;
宽度:300vw;
过渡:0.3s线性变换;
变换:translateX(0vw);
}
@导入url('https://fonts.googleapis.com/css?family=Open+Sans:300400600’;
正文{
背景大小:100%,100%;
文本对齐:居中;
最大宽度:无;
字体系列:“开放式Sans”,无衬线;
颜色:黑色;
保证金:0;
背景色:黑色;
}
* {
框大小:边框框;
}
.左边距{
左边距:6.25vw;
}
.右边距{
右边距:6.25vw;
}
.页边空白处{
top:5vw;
}
.整页{
宽度:100vw;
高度:100vh;
}
钮扣{
宽度:15%;
背景色:白色;
身高:4rem;
颜色:黑色;
字号:18px;
字体大小:粗体;
}
#我的视频{
位置:固定;
右:0;
底部:0;
最小宽度:100%;
最小高度:100%;
}
#第2页{
背景图片:url(page-2.png);
背景大小:100%,100%;
背景重复:无重复;
背景附件:固定;
背景位置:中心;
背景重复:无重复;
背景尺寸:封面;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.说明-2{
颜色:白色;
高度:70vh;
宽度:100vw;
top:10vw;
z指数:1;
}
.说明-2 p{
字体大小:30px;
字体大小:粗体;
}
.说明-2 h1{
字号:80px;
左边距:15%;
右边距:15%;
}
.标题-2按钮{
顶部:16vh;
位置:相对位置;
}
创建一个代码段当然!我现在加了一个!为什么不使用Bootstrap之类的工具呢?就像这样$(document).ready(function(){$('a')。单击(function(){var Top=$('body')。查找($(this.attr('href')).offset().Top;$('html,body')。动画({scrollTop:Top},300,'easoutexpo');返回false;};});哦,太好了!的确如此!谢谢!
$('a').click(function(){
var Top =
$('body').find($(this).attr('href')).offset().top;
$('html, body').animate({
scrollTop: Top
},300, 'easeOutExpo');
return false;
});