js的回调函数 一些例子

这边用bootstrap 3.0的  上传控件做例子

下面是上传控件的一段完整的 js 操作 代码。

<!-- 上传缩略图控件配置 -->
<script>
// 定义这四个全局变量是 为了保存4张图片的uuid 在回调函数中每次保存 都覆盖前一张的名字 实现 用户可以重复添加取最终的结果保存入库
window.Picture1=""; //轮播图1的全局变量
window.Picture2=""; //轮播图2的全局变量
window.Picture3=""; //轮播图3的全局变量
window.Thumbnail=""; //缩略图的全局变量

//一个实时的判断 确保每次缩略图只显式一张
function reuploadThumbnails(){ //重新加载缩略图
var filepreview=document.getElementsByClassName(‘file-preview-thumbnails‘);
var fileframs=filepreview[0].getElementsByClassName(‘file-preview-frame‘);
var delInitPic=filepreview[0].getElementsByClassName(‘file-preview-initial‘);
var a = $(‘div.file-preview-initial ‘)
a.hide();
console.log("图片数量"+fileframs.length);
if(fileframs.length>=2){ //一个实时的判断 确保每次缩略图只显式一张
var self=fileframs[0];
var parent = self.parentElement;
// 删除:
var removed = parent.removeChild(self);
console.log(removed === self); // true
}
}

$("#thumbnailPic").fileinput({
language: ‘zh‘, //设置语言
/* uploadUrl: ‘uploadFiles/uploadFarmdefPics‘, */
uploadUrl: ‘farmlandLandDef/uploadFarmLandDetailPics?kind=thumbnail‘,
allowedFileExtensions : [‘jpg‘, ‘png‘,‘gif‘],
overwriteInitial: false,
initialPreviewCount:1,
showCaption:false, //是否显示文件的标题。默认值true
browseClass: "btn btn-primary", //按钮样式
initialPreviewShowDelete: true,
maxFileCount: 1, //最大上传数量
maxFileSize: 400,
maxFilesNum: 1,
initialPreview:"请上农作物生长周期图,支持拖拽图片上传", //配置预览图的界面可以为 img text或者other
slugCallback: function(filename) {
reuploadThumbnails(); //保证缩略图只有一张
return filename.replace(‘(‘, ‘_‘).replace(‘]‘, ‘_‘);
}
});
// 注意 有预览功能的上传控件 绑定的 回调事件名字和 无预览功能的不一样
$("#thumbnailPic").on("fileuploaded", function (event, data, previewId, index) {
//console.log(data.files[0][‘name‘]);
//console.log(data);
//var path=‘http://127.0.0.1:8080/img/uploadFarmdefThumbnailPics/‘;
var jsonarray = eval("(" +data.jqXHR.responseText+ ")"); //将json字符串转换为json对象
var uuid =jsonarray.uuid;
window.Thumbnail=uuid;
if(window.Thumbnail!=""){
$("#thumbnailImg1").tips({
side:2,
msg:‘图片上传成功!‘,
bg:‘#AE81FF‘,
time:2
});
}
});

$("#thumbnailPic").on("fileuploaderror", function (event, data, previewId, index) {
// alert("fileuploaderror");

var errmsg=$("div.content div.shang_box div#UploadContainer div.file-preview div.file-error-message li").text();

var str=" [object Object]"; //注意有空格
var arr=errmsg.split(":");
var name=arr[arr.length-1];
if(str == name){
errmsg="上传地址路径配置错误!";
}

console.log(‘msg===‘+errmsg);
$("#thumbnailImg1").tips({
side:2,
msg:errmsg,
bg:‘#AE81FF‘,
time:2
});
});

$("#thumbnailPic").on("fileloaded", function (event, data, previewId, index) {
var f = document.getElementById(‘thumbnailPic‘).files[0];
var src = window.URL.createObjectURL(f);
document.getElementById(‘thumbnailImg1‘).src = src;
});

</script>

时间: 2024-10-14 00:40:54

js的回调函数 一些例子的相关文章

关于js的回调函数的一点看法

算了一下又有好几个月没写博客了,最近在忙公司android的项目,所以也就很少抽时间来写些东西了.刚闲下来,我就翻了翻之前看的东西.做了android之后更加感觉到手机端开发的重要性,现在做native App  和Web App是主流,也就是说现在各种基于浏览器的web app框架也会越来越火爆了,做js的也越来越有前途.我也决定从后端开发渐渐向前端开发和手机端开发靠拢,废话不说了,我们来切入正题“js的回调函数”相关的东西. 说起回调函数,好多人虽然知道意思,但是还是一知半解.至于怎么用,还

JS之——回调函数的简单应用(插曲)

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46274893 JS无疑是前端页面与服务端交互数据的强大语言,那么如何利用JS的回调函数来封装JS的网络请求呢,本文就来简单说明这一问题 一.创建一个index.html文件 页面内容随便定义,重点是要引入如下自定义的两个js文件,一个是constants.js一个是validate.js 二.创建constants.js文件 /** * Created by liuyazhuan

hbuilder开发node.js,以及node.js的回调函数

1.hbuilder安装node.js开发插件 工具---插件安装 然后重启Hbuilder让nodeeclipse生效就行了 运行:运行方式选择node应用就可以运行node.js了. 显示出了控制台,说明nodeJS可以在Hbuilder中使用了.(PS,电脑要先安装过node.js,Hbuilder只是辅助) 2.node.js的回调函数 原文地址:https://www.cnblogs.com/xingyue1988/p/8779633.html

node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了

最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); app是对象,use是方法,方法的参数是一个带参的匿名函数,函数体直接在后面给出了.这段代码怎么理解呢?我们先来了解

Node js 安装+回调函数+事件

/* 从网站 https://nodejs.org/zh-cn/ 下载 这里用的 9.4.0 版本 下载完安装 安装目录是 D:\ApacheServer\node 一路默认安装 安装后打开cmd命令行输入 path 在显示的结果中查找是否有 D:\ApacheServer\node有的话表示环境变量中已经包含了 D:\ApacheServer\node\ 可以在cmd中直接使用 node 这个命令 如在当前命令行中输入 node --version 显示 v9.4.0 当前nodejs的版本

JS 对于回调函数的理解,和常见的使用场景应用,使用注意点

  很经常我们会遇到这样一种情况: 例如,你需要和其他人合作,别人提供数据,而你不需要关注别人获取或者构建数据的方式方法. 你只要对这个拿到的数据进行操作. 这样,就相当于我们提供一个外在的函数,别人调用这个函数,返回相应的数据. 例如: ? 1 2 3 4 5 6 7 8 function (num , numFun) { if(num < 10){ //do sth }else { //do sth numFun(); } } 在num的判断之后执行NumFun的函数. 所谓的回调函数,可以

转:Delphi 回调函数及例子

http://anony3721.blog.163.com/blog/static/5119742010866050589/ { http://anony3721.blog.163.com/blog/static/5119742010866050589/ 例子出处 } unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCt

Node.js 使用回调函数实现串行流程控制

下面是一个使用Node.js回调函数实现串行流程控制的示例: setTimeout(function() { console.log('I excute first.'); setTimeout(function() { console.log('I excute next.'); setTimeout(function() { console.log('I excute last.'); }, 100); }, 500); }, 1000);

没办法,还是要补一下js,回调函数(转载)

<html> <head> <title>回调函数(callback)</title> <script language="javascript" type="text/javascript"> function a(callback) { alert("我是parent函数a!"); alert("调用回调函数"); callback(); } function b