页面进度条事件

用户体验,这年头提的特别多。其实,说白了就是细节方面的处理。今天,讲一个进度条的体验效果。

直接贴代码,想尝试看效果的,自己copy到编辑器里到网页view吧。

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>进度条事件</title>
	<style type="text/css" media="screen">
		*{margin:0; padding: 0;}
		.f-wrap{margin:100px auto; width: 1000px;}
		p{ line-height: 24px; padding: 10px 0;}
		.s-gray{color:#999;}
		#progressBar{width:800px; height:25px; border:1px solid #ddd; background-color: #fff; position: relative; }
		#progressBar #bar,#progressBar #text{ position:absolute; top:0; left: 0; z-index: 1; width:100%; font-weight: bold; font-family:georgia; font-size: 16px; text-align: center; height:25px; line-height:25px;}
		#progressBar #bar{z-index:2; background-color:blue; color:#fff; clip:rect(0px,0,25px,0);}
	</style>
</head>
<body>
	<div class="f-wrap">
		<div id="progressBar">
			<div id="bar">0%</div>
			<div id="text">0%</div>
		</div>
		<div class="s-gray">
			<p>clip是css2中的一个样式</p>
			<ol>
				<li>硬编码:写死</li>
				<li>跟flash配合,as3</li>
				<li>html5 : xhr2 :onprogress onload</li>
				<li>跟后台的配合,ajax实时返回(cent)</li>
			</ol>
		</div>
	</div>
	<script>
     window.onload = function(){
     	var iProgress = 0;
     	var timer = null;
     	timer = setInterval(function(){
            if(iProgress == 100){
                 clearInterval(timer);
            }else{
            	iProgress+=5;
                progressFn(iProgress);
            }
     	},100);

        // 封装成一个函数
     	function progressFn(cent){
              var oDiv1 = document.getElementById('progressBar');
              var oDiv2 = document.getElementById('bar');
              var oDiv3 = document.getElementById('text');

              var objW = parseInt(getStyle(oDiv1,'width'));

              oDiv2.innerHTML = cent + '%';
              oDiv3.innerHTML = cent + '%';
              oDiv2.style.clip = 'rect(0px, '+ cent/100 * objW +'px, 25px, 0)';

              // 获取样式值
              function getStyle(obj,attr){
              	  if(obj.currentStyle){
              	  	  return obj.currentStyle[attr];
              	  }else{
              	  	  return getComputedStyle(obj,false)[attr];
              	  }
              }
     	}
     }
	</script>
</body>
</html>

页面进度条事件

时间: 2024-08-17 11:34:04

页面进度条事件的相关文章

页面进度条

从很早之前就想知道页面的进度条是怎么实现的了,但发现好像不是自己想要的,不是就是不会,是什么flash的AS3里的 方法实现获取页面加载的进度,要不就是别的,这些都是未知的领域啊,不懂,然而HTML5也有这样获取文件大小的方法, 但没有进入深究,所以也暂时不能全面了解,但可以在已经的知识上完成这个效果,就是onload事件,页面上都是图片拖慢 页面加载进度而降低性能,不是就是JS文件过大,那么我们能就从这两个角度去把页面进度条完成了? 以下就是从onload这个方法实现页面进度条. 材料: lo

VS2015 Cordova实现WebView加载页面进度条(Android)

因为使用Cordova做app时,加载页面没有进度条,用户无法感知打开进度,故加入进度条,具体实现如下: 1.  如果项目没有生成过apk,需先生成一次,这样在项目下面才会出现platforms/android的文件夹. 2.  进入项目/platforms/android/src文件夹下,在你程序包名目录下找到你的MainActivity.java文件,增加一个Dialog和ProgressBar用来显示页面加载进度,具体代码实现如下: 1 /* 2 Licensed to the Apach

异步带进度条——提交文件

前台代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <style type="text/css&q

给 layui upload 带每个文件的进度条, .net 后台代码

1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 var xhrOnProgress=function(fun) { xhrOnProgress.onprogress = fun; //绑定监听 //使用闭包实现监听绑 return function() { //通过$.ajaxSettings.xhr();获得XMLHttpRequest对象 var xhr = $.aja

layui文件上传进度条(模拟)

1.修改上传组件js(没测) https://blog.csdn.net/weixin_42457316/article/details/81017471 https://www.cnblogs.com/youmingkuang/p/9183528.html https://fly.layui.com/jie/19430/ 1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 v

Layui多文件上传进度条

Layui原生upload模块不支持文件上传进度条显示,百度,谷歌找了一下不太适用.后面找到一个别人修改好的JS,替换上去,修改一下页面显示即可使用,一下是部分代码 HTML: <div class="layui-upload"> <button type="button" class="layui-btn layui-btn-normal" id="fileList">选择多文件</button

Android解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理

解决WebView的定位功能.视频全屏播放.下载功能.页面Url的处理.进度条处理 事先说明: 定位功能在安卓6.0需要用户手动确认权限后才能使用 若需在安卓6.0适配WebView的定位功能,则需要在WebView中手动增加用户权限访问 详细可百度安卓6.0权限管理系统,或者采用第三方封装好的权限管理类进行编写(如Bmob) 如果对内容不理解的话,可参考最后的整个类的代码 如果对BaseActivity这个抽象类不理解的话,可以查看下面一篇文章对BaseActivity的介绍 步骤一:webv

Bootstrap基础7(标签、徽章、大屏展播、页面标题、缩略图、进度条、面板、折叠效果)

<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <title>标签.徽章.

js页面加载进度条

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="