Javascript setTimeout在登录页上客户端不工作
Javascript setTimeout在登录页上客户端不工作,javascript,html,jquery,node.js,settimeout,Javascript,Html,Jquery,Node.js,Settimeout,下午好,我正在尝试为我的站点上的页面加载动画,但是客户端setTimeout函数不起作用。我在测试页面上有相同的功能,没有引导,也没有其他脚本,它可以工作,但是一旦我把脚本放在我的登录页面上,它就不会等待了。我已经在setTimeout中登录了控制台,它确实正确地记录了日志,所以它正在启动,我只是不知道为什么页面没有等待。我正在使用EJS模板引擎
/* 1 */
$document.readyfunction{
$window.on'load',函数{
setTimeoutfunction{
下午好,我正在尝试为我的站点上的页面加载动画,但是客户端setTimeout函数不起作用。我在测试页面上有相同的功能,没有引导,也没有其他脚本,它可以工作,但是一旦我把脚本放在我的登录页面上,它就不会等待了。我已经在setTimeout中登录了控制台,它确实正确地记录了日志,所以它正在启动,我只是不知道为什么页面没有等待。我正在使用EJS模板引擎
/* 1 */
$document.readyfunction{
$window.on'load',函数{
setTimeoutfunction{
$loader.hide;
}, 5000;
$'page'。显示;
};
};
/* 2.
加载动画javascript*/
! 功能a、b{
严格使用;
函数ca{
a=a |{};
对于变量b=1;be;e++{
var f=新的n;
f、 摆姿势,z.pushf
}
a、 addEventListenerresize,函数{
K
},!1,b.addEventListenermousemove,函数a{
A=A.pageX,B=A.pageY
},!1,D&&!C&&a.addEventListenerdeviceorientation,函数{
F=Math.minMath.max-event.beta,-30,30,E=Math.minMath.max-event.gamma,-30,30
},!0,j,qonInit
}
}
功能一{
r、 宽度=d.offsetWidth,r.height=d.offsetHeight,s.fillStyle=g.dotColor,s.strokeStyle=g.lineColor,s.lineWidth=g.lineWidth
}
函数j{
如果y{
u=a.innerWidth,v=a.innerHeight,s.clearRect0,0,r.width,r.height;
对于var b=0;b=0;c-z[c]。位置.x>a | | z[c]。位置.y>b&z.c,1;
var e=数学圆r.宽度*r.高度/g.密度;
如果e>z长度
对于;e>z.长度{
var f=新的n;
z、 普希夫
}否则e=0;c-z[c]。setStackPosc
}
函数l{
G=!0
}
函数m{
G=!1,j
}
函数n{
切换this.stackPos,this.active=!0,this.layer=Math.ceil3*Math.random,this.parallaxOffsetX=0,this.parallaxOffsetY=0,this.position={
x:Math.ceilMath.random*r.width,
y:Math.ceilMath.random*r.height
},this.speed={},g.directionX{
案例左:
这个.speed.x=+-g.maxSpeedX+Math.random*g.maxSpeedX-g.minSpeedX.toFixed2;
打破
案例权利:
这个.speed.x=+Math.random*g.maxSpeedX+g.minSpeedX.toFixed2;
打破
违约:
this.speed.x=+-g.maxSpeedX/2+Math.random*g.maxSpeedX.toFixed2,this.speed.x+=this.speed.x>0?g.minSpeedX:-g.minSpeedX
}
开关g方向Y{
个案:
this.speed.y=+-g.maxspited+Math.random*g.maxspited-g.minSpeedY.toFixed2;
打破
按大小写:
this.speed.y=+Math.random*g.maxspeidy+g.minSpeedY.toFixed2;
打破
违约:
this.speed.y=+-g.maxspeidy/2+Math.random*g.maxspeidy.toFixed2,this.speed.x+=this.speed.y>0?g.minSpeedY:-g.minSpeedY
}
}
功能oa,b{
返回b?无效g[a]=b:g[a]
}
函数p{
console.logdestroy、r.parentNode.removeChildr、qondestory、f&&fd.removeDataplugin\uuu+e
}
功能qa{
无效0!==g[a]&&g[a]。调用
}
r,s变量
,t,u,v,w,x,y=!!b、 createElementcanvas.getContext,
z=[],
A=0,
B=0,
C=!navigator.userAgent.match/iPhone | iPod | iPad |安卓|黑莓| BB10 | mobi |平板| opera mini | nexus 7/i,
D=!!a、 DeviceOrientationEvent,
E=0,
F=0,
G=!1.
返回g=c{},a[e]。默认值,g,n.prototype.draw=function{
s、 beginPath,s.arcthis.position.x+此视差偏移setx,此.position.y+此视差偏移sety,g.particleRadius/2,0,2*Math.PI,!0,s.closePath,s.fill,s.beginPath;
对于var a=z.length-1;a>this.stackPos;a-{
var b=z[a],
c=此.position.x-b.position.x,
d=此.position.y-b.position.y,
e=Math.sqrtc*c+d*d.toFixed2;
ec&&this.position.x=0-this.parallaxOffsetX;
打破
违约:
this.position.x+this.speed.x+this.parallaxOffsetX>c | | this.position.x+this.speed.x+this.parallaxOffsetX<0&&this.speed.x=-this.speed.x
}
开关g方向Y{
个案:
this.position.y+this.speed.y+this.parallaxOffsetY<0&&this.position.y=e-this.parallaxOffsetY;
打破
按大小写:
this.position.y+this.speed.y+this.parallaxOffsetY>e&&this.position.y=0-this.parallaxOffsetY;
打破
违约:
this.position.y+this.speed.y+this.parallaxOffsetY>e | | this.position.y+this.speed.y+this.parallaxOffsetY<0&&this.speed.y=-this.speed.y
}
this.position.x+=this.speed.x,this.position.y+=this.speed.y
},n.prototype.setStackPos=功能a{
this.stackPos=a
},h{
选项:o,
摧毁:p,
开始:m,
暂停:l
}
}
var e=粒子轮,
f=a.jQuery;
a[e]=函数a,b{
返回新的da,b
},a[e]。默认值={
minSpeedX:.1,
maxSpeedX:.7,
敏斯皮:1,
马克斯:7,
方向X:中心,
方向:中心,
密度:1e4,
dotColor:666666,
线条颜色:666666,
特别:7,
线宽:1,
曲线:!1,
距离:100,
视差:!0,
视差倍增管:5,
onInit:函数{},
onDestroy:函数{}
},f&&f.fn[e]=函数a{
if string==typeof参数[0]{
变量b,c=参数[0],
g=Array.prototype.slice.callarguments,1;
返回this.eachfunction{
f、 datathis,plugin_u5;+e&&function==typeof f.datathis,plugin_5;+e[c]&&b=f.datathis,plugin_5;+e[c]。applythis,g
},void 0!==b?b:这个
}
返回对象!=a&&a的类型?无效0:this.eachfunction{
f、 datathis,plugin|e | f.datathis,plugin|e,new dthis,a
}
}
}窗口、文件、,
/**
*雷库
Erik Möller的estAnimationFrame polyfill。来自Paul Irish和Tino Zijdel的修复
*@见:http://paulirish.com/2011/requestanimationframe-for-smart-animating/
*@见:http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
*@license:MIT-license
*/
作用{
对于变量a=0,b=[ms,moz,webkit,o],c=0;c
页面内容使用引导程序位于该容器内
我发现setTimeout不是我想要的功能,因为我的应用程序没有等待页面加载。我用了下面的方法,效果很好
document.onreadystatechange=函数{
如果document.readyState!==完成{
document.querySelectorbody.style.visibility=隐藏;
document.querySelectorloader.style.visibility=可见;
}否则{
document.querySelectorloader.style.display=none;
document.querySelectorbody.style.visibility=可见;
}
}; 我稍微编辑了一下你的片段。我通过添加jQuery使其可运行,我为EJS渲染添加了占位符文本,这样它看起来就不会被破坏,并将背景更改为黑色,这样您就可以看到有移动的位。如果你想让它更像你的实际内容,那么可以随意修改它。这样做的好处是,您的5秒超时似乎正在工作。所以我不确定你认为什么是错的。我希望我能播放一段视频。jquery脚本位于EJS脚本标记内,我确实将它取出并将jquery添加到文档顶部,但它仍然不起作用。5秒超时不起作用。当我加载页面时,动画会快速闪烁,在屏幕上停留不到一秒钟。我看不到这一点。既然我已经编辑了此问题中的代码段,您是否在该代码段上单击了“运行代码段”?我看到您的加载程序显示了5秒钟,然后被$loader.hide隐藏;很抱歉,我在复制您声称看到的内容时遇到问题。我确实运行了代码段,它确实在那里工作,但在我的登录页上没有。当我转到我的登录页时,它没有等待5秒超时,页面只是加载,我不知道为什么页面只是加载而不是等待。