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秒超时,页面只是加载,我不知道为什么页面只是加载而不是等待。