Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将轻松设置为滚动绑定功能?_Javascript_Html_Css_Animation_Scroll - Fatal编程技术网

Javascript 如何将轻松设置为滚动绑定功能?

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">

我想做一个垂直的卷轴。在此HTML上:

<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;
});