Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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_Viewport - Fatal编程技术网

Javascript 在视口中启动动画

Javascript 在视口中启动动画,javascript,html,css,viewport,Javascript,Html,Css,Viewport,我正在尝试在屏幕的视口中开始制作我创建的动画 //如果指定的元素已滚动到视口中,则返回true。 函数IsElementViewPort(elem){ 变量$elem=$(elem); //获取页面的滚动位置。 var scrollem=((navigator.userAgent.toLowerCase().indexOf('webkit')!=-1)?'body':'html'); var viewportTop=$(scrolllem.scrollTop(); var viewportBo

我正在尝试在屏幕的视口中开始制作我创建的动画

//如果指定的元素已滚动到视口中,则返回true。
函数IsElementViewPort(elem){
变量$elem=$(elem);
//获取页面的滚动位置。
var scrollem=((navigator.userAgent.toLowerCase().indexOf('webkit')!=-1)?'body':'html');
var viewportTop=$(scrolllem.scrollTop();
var viewportBottom=viewportTop+$(window).height();
//获取元素在页面上的位置。
var elemTop=Math.round($elem.offset().top);
var elemBottom=elemTop+$elem.height();
返回((elemTopviewportTop));
}
//检查是否是开始动画的时间。
函数checkAnimation(){
变量$elem=$('.image container')
如果(IsElementViewPort($elem)){
//启动动画
$elem.addClass('start');
}否则{
$elem.removeClass('start');
}
}
//捕获滚动事件
$(窗口)。滚动(函数(){
检查动画();
});
/*幻灯片展示画面*/
@左关键帧{
0% {
转化:translatex(-100%);
}
100% {
转化:translatex(0%);
}
}
/*动画*/
.动画容器{
宽度:600px;
高度:600px;
背景:#f5;
溢出:隐藏;
}
.图像容器{
宽度:100%;
身高:100%;
背景:粉红色;
转化:translatex(-100%);
}
.开始{
动画:左2向前放松;
}
.向右浮动{
浮动:对;
}

第68行(您的
checkAnimation
函数中的第一行)读作
$(“.image container”);
。请注意如何使用双引号来开始字符串,但使用单引号来结束字符串

只要将其更改为
$('.image container')
,您就可以了:)
编辑。现在,您已经解决了上述问题,但是没有定义
$
。您使用的是
$(元素)
,但是您还没有定义
$
的作用或含义。将jQuery链接到您的项目如何?或者至少定义
$
作为querySelector函数的缩写?

编辑2。好吧,现在它不会抛出任何错误,但它就是不起作用。好吧,它实际上添加了
.start
类-仅使用start类还不足以启动动画。css文件在元素上添加了
.left.start
,因此可以将其更改为仅在
上触发。start
类或添加
.left
类,就像您添加
.start
类一样。

我更新了代码段,但它似乎仍然发出错误?我从下面的js提琴开始,它似乎可以在那里工作,但对我来说不行?我解决了这个问题。将jQuery添加到您的页面或定义
$
,以y的方式工作你希望它在没有它的情况下工作。对不起,我对javascript非常熟悉。我已经尝试添加jquery存储库(),但仍然没有进展。我编辑了我的问题以解决新问题。它现在应该可以工作了。干杯!