js进度条js进度条开始和暂停
本文目录一览:
- 1、js加载图片进度条应该怎么写
- 2、js怎么实现这种进度条,随着液体到达数字之后,数字就会自下而上的变白?
- 3、使用jquery.form.js实现文件上传及进度条前端代码
- 4、js怎么能让进度条动起来一点点减少
- 5、iOS WKWebView与H5交互,JS调OC传值、OC调JS传值、进度条加载等(干货满满)
js加载图片进度条应该怎么写
var jsload = {
img: [ 'about.png', 'applyBtn.png', 'background2.png', 'bgImg.png', 'bird.cman.png', 'borad2.png',
'choujiang.png','entry.png','f_0.png','f_1.png','f_2.png','f_3.png',
'f_4.png','f_5.png','f_6.png','f_7.png','f_8.png','f_9.png',
'fxFBfont.png','ground.2.png','logo.png','pgBar.png','pgBg.png','pipe2.png',
'raffle.png','rank.png','rankBtn.png','ruleBtn.png','shareButton.png',
'shareImg.png','sureBtn.png','tap.png','titleImg.png','trymore.png'
],
count: 1,
go: 1,
init: functiON () {
var _this = this;
$.get('dom.txt', function (response) {
$('#gameDiv').append(response);
_this.move();
});
this.count += this.img.length;
this.go = this.count;
this.loadImg();
},
loadImg: function () {
for (var i = 0; i this.img.length; i++) {
var img = new Image();
var _this = this;
img.onload = function () {
_this.move();
};
img.src = 'resource/assets/' + this.img[i];
};
return this;
},
move: function () {
--this.go;
var press = Math.round((this.count - this.go) / this.count * 100);
console.log('游戏加载进度', press);
// if(press === 100){
// start.init();
// }
}
};
jsload.init();
图片 和txt加载 可以参考下
js怎么实现这种进度条,随着液体到达数字之后,数字就会自下而上的变白?
我想到三种实现方法:
1、CSS字体支持反色效果。你可以用css实现。
2、CSS得遮罩效果,做两层把下面遮住,一点点露出来。
3、用canvas绘图。
使用jquery.form.js实现文件上传及进度条前端代码
ajax的表单提交只能提交data数据到后台,没法实现file文件的上传还有展示进度功能,这里用到form.js的插件来实现,搭配css样式简单易上手,而且高大上,推荐使用。
需要解释下我的结构, #upload-input-file 的input标签是真实的文件上传按钮,包裹form标签后可以实现上传功能, #upload-input-btn 的button标签是展示给用户的按钮,因为需要样式的美化。上传完成生成的文件名将会显示在 .upload-file-result 里面, .progress 是进度条的位置,先让他隐藏加上 hidden 的class, .progress-bar 是进度条的主体, .progress-bar-status 是进度条的文本提醒。
去掉hidden的class,看到的效果是这样的
[图片上传失败...(image-2c700a-1548557865446)]
将上传事件绑定在file的input里面,绑定方式就随意了。
var progress = $(".progress-bar"), status = $(".progress-bar-status"), percentVal = '0%'; //上传步骤 $("#myupload").ajaxSubmit({ url: uploadUrl, type: "POST", dataType: 'json', beforeSend: function () { $(".progress").removeClass("hidden"); progress.width(percentVal); status.html(percentVal); }, uploadProgress: function (event, position, total, percentComplete) { percentVal = percentComplete + '%'; progress.width(percentVal); status.html(percentVal); console.log(percentVal, position, total); }, success: function (result) { percentVal = '100%'; progress.width(percentVal); status.html(percentVal); //获取上传文件信息 uploadFileResult.push(result); // console.log(uploadFileResult); $(".upload-file-result").html(result.name); $("#upload-input-file").val(''); }, error: function (XMLHttpRequest, textStatus, errorThrown) { console.log(errorThrown); $(".upload-file-result").empty(); } });
[图片上传失败...(image-3d6ae0-1548557865446)]
[图片上传失败...(image-9f0adf-1548557865446)]
更多用法可以 参考官网
js怎么能让进度条动起来一点点减少
pre t="code" l="js"s[0].style.width = 100 - r / i * 100 + quot;%quot;;该代码不就是设置进度条的么
如果你能更改页面 你在标签中这样写:pre t="code" l="html"lt;h5gt;(资料完整度lt;span id=quot;wz_jdquot;gt;lt;/spangt;)lt;/h5gt;然后在你的JS中 pre t="code" l="js"s[0].style.width = 100 - r / i * 100 + quot;%quot;;的下面 写上:
pre t="code" l="js"document.getElementById(quot;wz_jdquot;).innerHTML = 100 - r / i * 100 + quot;%quot;;不就OK了么
注意:你的JS中哪儿有那行代码 就在那行下面 追加
如果不能更改页面就在那行代码下面 这样写:pre t="code" l="js"document.getElementsByTagName(quot;h5quot;)[0].innerHTML = quot;(资料完整度quot;+ (100 - r / i * 100) + quot;%)quot;;里面的0 表示是第1个h5标签 如果你有多个 自己进行更改
iOS WKWebView与H5交互,JS调OC传值、OC调JS传值、进度条加载等(干货满满)
WKWebView是苹果在iOS 8之后推出的框架,关于它比webview的优势这里就不讲了。主要说一下与JS交互的问题,其实WKWebView已经内置了JS与OC的互调、传值等方法,使用起来也非常方便,下面就来细细的探讨一下以及自己遇到过的坑...
首先来看下WKWebView的初始化相关设置:
一、导入相关头文件、设置相关代理和属性
二、WKWebView初始化
注意:
楼主遇到的第一个坑:如果JS给OC传值为空,必须写成: postMessage(null),如果什么都不写,方法是调不通的。
1、在viewWillAppear中配置, addScriptMessageHandler name: "这里就是JS的方法,方法名必须统一"
楼主遇到的第二个坑:配置完后必须在 viewWillDisappear 中 remove,否则会造成循环引用,导致crash
2、实现 WKScriptMessageHandler 协议
以上就是JS调OC,JS向OC传值...
楼主这里举三个例子:
1: webview加载完成前,将用户信息传给js
2: webview加载完成,将相关信息传给js
3: 调用相册或相机时,将选择的图片请求后台接口,后台返回图片地址,将该地址回传给H5,H5将图片显示到页面上
第一个例子: webView加载完成前传值
因为 evaluateJavaScript 方法默认是在加载完成后调用,所以直接在页面开始加载中调用是传不过去的,这个时候怎么办呢? 我们可以让js端写两个方法, 第一个方法是js端开始向oc端发起信息需求的方法名,当oc端收到该方法名的时候,就去调用js端第二个获取传值的方法,把信息传递过去。
先让JS端写个方法调OC,OC实现方法后在这个方法内部给JS传值
在WKScriptMessageHandler协议中,实现该方法,然后在方法内部给JS传值
注意: 以上就是在Webview加载完成前传值,如果打印没报错,证明传参成功,如果web端没收到,让他把获取到值的方法写到页面中即可。
第二个例子: webView加载完成,传值给js
第三个例子: 传图片地址给js,js拿到后显示图片
1:拍照事件
1.1:将拍的照片请求上传图片接口,成功返回图片地址,并传值给H5
2: 从相册中选取照片
2.2:将相册中选取的照片请求上传图片接口,成功返回图片地址,并传值给H5
注意: getPhotoCallback 即为调用的方法名,后面传值格式必须为: ('') , 这里遇到了第三个坑, 如果方法名写为: 名称.名称 (例如:hello. getPhotoCallback),这种是调不通的,可以写成hello_getPhotoCallback的形式,一般的话最好还是定义一个完整的名称。 刚开始这个问题卡了比较久,一直调不通,在此记录一下.....
在 viewDidLoad 中注册进度条监听
开始加载网页
加载完成
加载失败
页面跳转失败
progressView懒加载
添加监听观察者
最后别忘记 removeObserver
Demo地址:
关于js进度条和js进度条开始和暂停的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~