webuploader模态框ueditor显示问题解决方法


Posted in Javascript onDecember 27, 2016

webuploader 模态框 ueditor 显示问题

模态框z-index 对应的值

.modal {
 z-index: 10050 !important;
 outline: none !important;
}

遮罩层对应的z-index值

.modal-backdrop {
 border: 0 !important;
 outline: none !important;
 z-index: 10049 !important;
}

ueditor 插件中,默认的z-index值为900 ;

在模态框中使用ueditor,可能会出现不兼容的情况,在ueditor.config.js里面修改z-index值,要比父级结构要大,否则,字体相关的下拉框还是会显示异常,也可以覆盖原来的z-index对应的样式,

.edui-default{
 z-index: 30111 !important;
}

webupload 百度的上传插件,如果在模态框中使用,会出现点击无反应的情况,搜索得之,解决方式是在模态框显示时调用shown.bs.modal 方法去初始化webuploader实例, 但结局就是每次显示模态框都会导致选择文件的按钮越来越大。

以下是方式:

var $list=$("#thelist"); //这几个初始化全局的百度文档上没说明,好蛋疼。
 var $btn =$("#ctlBtn"); //开始上传
 var thumbnailWidth = 100; //缩略图高度和宽度 (单位是像素),当宽高度是0~1的时候,是按照百分比计算,具体可以看api文档
 var thumbnailHeight = 100;
 $("#upload_pic").modal('show');

 $("#upload_pic").on("shown.bs.modal",function(){
  uploader = WebUploader.create({
   // 选完文件后,是否自动上传。
   auto: false,
   // swf文件路径
   swf: base+'/statics/js/webUploader/Uploader.swf',
   // 文件接收服务端。
   server: base + '/upload/uploadImg',
   // 选择文件的按钮。可选。
   // 内部根据当前运行是创建,可能是input元素,也可能是flash.
   pick: '#filePicker',
   // 只允许选择图片文件。
   accept: {
    title: 'Images',
    extensions: 'gif,jpg,jpeg,bmp,png',
    mimeTypes: 'image/*'
   },
   method:'POST',
  });
  // 当有文件添加进来的时候
  uploader.on( 'fileQueued', function( file ) { // webuploader事件.当选择文件后,文件被加载到文件队列中,触发该事件。等效于 uploader.onFileueued = function(file){...} ,类似js的事件定义。
   var $li = $(
     '<div id="' + file.id + '" class="file-item thumbnail">' +
     '<img>' +
     '<div class="info">' + file.name + '</div>' +
     '</div>'
    ),
    $img = $li.find('img');
   // $list为容器jQuery实例
   $list.append( $li );

   // 创建缩略图
   // 如果为非图片文件,可以不用调用此方法。
   // thumbnailWidth x thumbnailHeight 为 100 x 100
   uploader.makeThumb( file, function( error, src ) { //webuploader方法
    if ( error ) {
     $img.replaceWith('<span>不能预览</span>');
     return;
    }

    $img.attr( 'src', src );
   }, thumbnailWidth, thumbnailHeight );
  });
  // 文件上传过程中创建进度条实时显示。
  uploader.on( 'uploadProgress', function( file, percentage ) {
   var $li = $( '#'+file.id ),
    $percent = $li.find('.progress span');
   // 避免重复创建
   if ( !$percent.length ) {
    $percent = $('<p class="progress"><span></span></p>')
     .appendTo( $li )
     .find('span');
   }
   $percent.css( 'width', percentage * 100 + '%' );
  });

  // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  uploader.on( 'uploadSuccess', function( file ) {
   $( '#'+file.id ).addClass('upload-state-done');
  });
  // 文件上传失败,显示上传出错。
  uploader.on( 'uploadError', function( file ) {
   var $li = $( '#'+file.id ),
    $error = $li.find('div.error');
   // 避免重复创建
   if ( !$error.length ) {
    $error = $('<div class="error"></div>').appendTo( $li );
   }

   $error.text('上传失败');
  });

  // 完成上传完了,成功或者失败,先删除进度条。
  uploader.on( 'uploadComplete', function( file ) {
   $( '#'+file.id ).find('.progress').remove();
  });
 });

 $btn.on( 'click', function() {
  uploader.upload();
 });

解决每次点击显示modal导致上传按钮变大的方式为覆盖由webuploader 生成的上传按钮样式

.webuploader-pick{
 padding: 0 !important;
 width: 82px !important;
 height: 38px !important;
 line-height: 38px !important;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
自动更新作用
Oct 08 Javascript
用javascript实现在小方框中浏览大图的代码
Aug 14 Javascript
jQuery之end()和pushStack()使用介绍
Feb 07 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
Jun 01 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
jquery实现图片放大点击切换
Jun 06 jQuery
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
vue.js element-ui validate中代码不执行问题解决方法
Dec 18 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
Mar 01 Javascript
webpack打包js的方法
Mar 12 Javascript
vue 自定义组件的写法与用法详解
Mar 04 Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 #Javascript
Vue.js双向绑定操作技巧(初级入门)
Dec 27 #Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 #Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 #Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 #Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 #Javascript
jQuery获取选中单选按钮radio的值
Dec 27 #Javascript
You might like
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
cakephp常见知识点汇总
2017/02/24 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
python asyncio 协程库的使用
2021/01/21 Python
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
struct和class的区别
2015/11/20 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
商场拾金不昧表扬信
2014/01/13 职场文书
老师对学生的评语
2014/04/18 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
武当山导游词
2015/02/03 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
SQL SERVER存储过程用法详解
2022/02/24 SQL Server
PYTHON InceptionV3模型的复现详解
2022/05/06 Python
python基础之//、/与%的区别详解
2022/06/10 Python