- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我见过一些网站,当页面第一次加载时,会显示类似 YouTube 的进度条。当进度条完成时,页面内容会以淡入淡出的效果显示。网站地址为 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 - https://github.com/HubSpot/pace/
它监听所有ajax请求和dom加载,并在隐藏页面时显示进度条。一旦所有内容都加载完毕,它就会显示内容。
您可以预览该库的实际运行示例 here (是的,初始力量)
您有 2 个帐户吗?
正如我已经所说,这个库可以做到这一切。它跟踪脚本本身之后加载的每个字节。它轻松可定制,并且有一个清晰文档供您阅读。它允许您监视dom元素加载进度,图像/脚本/ajax内容进度,甚至您的长脚本。
如果您只有 html 主页面,那么您应该考虑更改设计并进行小块重构。
如果您不能但仍想跟踪进度,您可以在页面的最顶部放置一个简单的脚本,该脚本将:
document.firstElementChild.innerHTML.length
(不会很精确))我为您提供了让它发挥作用所需的一切。
我觉得你会要求更多...这是一个 NodeJs 示例。它只是创建一个 http 服务器,并提供一个包含分块内容的页面(并模拟滞后......)。所以整个页面需要时间来加载。JavaScript 实时显示文本进展。
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");
});
关于javascript - 想要在页面加载时显示类似 YouTube 的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31812836/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!