Javascript 想在页面加载时显示类似youtube的进度条吗
我见过一些网站,当页面第一次加载时,会显示类似youtube的进度条。当进度条完成时,页面内容将以淡入效果显示。网站地址为Javascript 想在页面加载时显示类似youtube的进度条吗,javascript,jquery,youtube,progress-bar,Javascript,Jquery,Youtube,Progress Bar,我见过一些网站,当页面第一次加载时,会显示类似youtube的进度条。当进度条完成时,页面内容将以淡入效果显示。网站地址为https://www.skysite.com/ 我已经检查了很多类似youtube的进度条链接,但这些页面显示的进度条和您一样,但它们与页面内容无关 以下是我咨询过的一些链接 http://stackoverflow.com/questions/18350370/youtube-like-progress-bar http://onextrapixel.com/exampl
https://www.skysite.com/
我已经检查了很多类似youtube的进度条链接,但这些页面显示的进度条和您一样,但它们与页面内容无关
以下是我咨询过的一些链接
http://stackoverflow.com/questions/18350370/youtube-like-progress-bar
http://onextrapixel.com/examples/youtube-like-ajax-loading-bar/index5.html
http://jsfiddle.net/ajaSB/3/
http://thuru.net/2014/10/05/youtube-like-progress-bar-using-nprogress-js-with-angular-js/
http://ricostacruz.com/nprogress/
只要指导我如何显示类似youtube的进度条,当进度完成时,我想显示页面内容。一个选项:
您所指的网站正在使用pace- 它监听所有ajax请求和dom加载,并在隐藏页面时显示进度条。加载所有内容后,它将显示内容 您可以预览此库的一个实际示例(是的,inception power) 根据评论更新: 您有两个帐户吗?
正如我已经说过的,这个图书馆做了这一切。它跟踪脚本本身之后加载的每个字节。它是容易定制的,并且有一个清晰的文档,您应该阅读它。它允许您监视dom元素加载进度、图像/脚本/ajax文件进度,甚至长脚本 <>如果你只有你的主要HTML页面是重的东西,你应该考虑改变你的设计和重构的小块。 如果您不能并且仍然希望跟踪进度,您可以在页面顶部放置一个简单的脚本,该脚本将:
- 使用ajax为同一页面发送HEAD http请求。只需知道您的总页面大小(内容长度标题)
- 根据当前页面大小显示进度(跟踪的方式很多,最简单的是
(不会很精确))document.firstElementChild.innerHTML.length
- 加载页面后,将删除进度条
var http = require('http');
function chunked(res, count) {
res.write('<p>Chunked content n°' + count + '</p>');
setTimeout(function() {
if(count > 0)
chunked(res, count - 1);
else
res.end('</body></html>');
}, 1000);
}
function handleRequest(request, response){
response.setHeader('Connection', 'Transfer-Encoding');
response.setHeader('Content-Type', 'text/html; charset=utf-8');
response.setHeader('Transfer-Encoding', 'chunked');
response.write('<html><head><script>\n' +
'var progress = 0; startLength = 825; TotalLength = 1090;\n' +
'function track_progress() {\n' +
' console.log(document.firstElementChild.innerHTML.length);' +
' if(progress > 1000) {' +
' document.body.firstElementChild.innerHTML = "Progress: 100% - Done !";\n' +
' return;\n' +
' }\n' +
' \n' +
' if(document.body) {\n' +
' progress = (document.firstElementChild.innerHTML.length - startLength)* 1000 / (TotalLength - startLength);\n'+
' document.body.firstElementChild.innerHTML = "Progress: " + (Math.round(progress)/10) + "%";\n' +
' }\n' +
' setTimeout(track_progress, 500);\n' +
'}\n' +
'track_progress();\n' +
'</script></head><body><p id="progress">Progress: 0%</p>');
response.write('<p>Starting to send chunked content...</p>');
chunked(response, 10);
}
var server = http.createServer(handleRequest);
server.listen(8080, function(){
console.log("Server listening on: http://localhost:8080");
});
var http=require('http');
函数分块(res、count){
res.write(“分块内容n°”+计数+”);
setTimeout(函数(){
如果(计数>0)
分块(res,count-1);
其他的
res.end(“”);
}, 1000);
}
函数handleRequest(请求、响应){
setHeader('Connection','Transfer Encoding');
setHeader('Content-Type','text/html;charset=utf-8');
setHeader('Transfer-Encoding','chunked');
响应。写入('\n'+
'var progress=0;startLength=825;TotalLength=1090;\n'+
'函数跟踪\进度(){\n'+
'console.log(document.firstElementChild.innerHTML.length);'+
'如果(进度>1000){'+
'document.body.firstElementChild.innerHTML=“进度:100%-完成!”;\n+
'返回;\n'+
“}\n”+
“\n”+
'如果(document.body){\n'+
'进度=(document.firstElementChild.innerHTML.length-startLength)*1000/(TotalLength-startLength);\n'+
'document.body.firstElementChild.innerHTML=“Progress:”+(Math.round(Progress)/10)+“%”;\n+
“}\n”+
'设置超时(跟踪进度,500);\n'+
“}\n”+
'跟踪进度();\n'+
“进度:0%
”;
write(“开始发送分块内容…”);
分块(回答,10);
}
var server=http.createServer(handleRequest);
listen(8080,函数(){
console.log(“正在侦听的服务器:http://localhost:8080");
});
加载页面时,显示进度条。
加载内容后,隐藏进度条。
您可以使用类库JQwidgets来创建进度条。您所指的网站正在使用“假设我的页面内容很大且需要时间加载”。所以我想在页面内容并排加载时显示类似youtube的进度条。我希望进度条进度长度和页面内容下载之间必须同步。假设当15%的页面内容下载完成时,进度长度为15%。正在寻找如何实现它的想法,特别是不知道如何在页面内容下载和进度条进度长度之间同步。是否可以在页面数据下载时显示进度条。假设页面数据或内容下载15%,那么进度条的进度也将是15%。我们可以开发这种实时进度条吗?正在寻找指导。浏览器会尽快解释Javascript。因此它能够跟踪每一次装载。此插件完成所有跟踪过程,并允许以非常简单的方式自定义呈现。假设我的页面内容很大,需要时间加载。所以我想在页面内容并排加载时显示类似youtube的进度条。我希望进度条进度长度和页面内容下载之间必须同步。假设当15%的页面内容下载完成时,进度长度为15%。寻找如何实现它的想法,特别是不知道如何在pag之间同步