JQuery boxy插件在IE中边角图片不显示问题的解决


Posted in Javascript onMay 20, 2015

JQuery boxy插件很好用,但也会出现一些问题,比如弹出框的边角在IE中不能显示。本博文将来解决这个问题。将boxy插件引用到项目中后会有一个boxy.css文件和jquery.boxy.js文件。在boxy.css文件中有给弹出框设置四个角图片的样式,如下图:

JQuery boxy插件在IE中边角图片不显示问题的解决

不做任何修改在Chrome浏览器下没有问题,如下:

JQuery boxy插件在IE中边角图片不显示问题的解决

在网上查了一些资料,说将css文件中的图片路径给位全路径可以解决问题,如下:

JQuery boxy插件在IE中边角图片不显示问题的解决

发现这样修改后并没有作用,运行后效果仍然如下:

JQuery boxy插件在IE中边角图片不显示问题的解决

有效的解决方法

将上面css截图的下半部分注释掉,如下图:

JQuery boxy插件在IE中边角图片不显示问题的解决

然后在jquery.boxy.js文件中的Boxy函数中添加一段脚本,下面贴出修改后的Boxy函数代码:

function Boxy(element, options) {
  
  this.boxy = jQuery(Boxy.WRAPPER);
  jQuery.data(this.boxy[0], 'boxy', this);
  
  this.visible = false;
  this.options = jQuery.extend({}, Boxy.DEFAULTS, options || {});
  
  if (this.options.modal) {
    this.options = jQuery.extend(this.options, {center: true, draggable: false});
  }
  
  // options.actuator == DOM element that opened this boxy
  // association will be automatically deleted when this boxy is remove()d
  if (this.options.actuator) {
    jQuery.data(this.options.actuator, 'active.boxy', this);
  }
  
  this.setContent(element || "<div></div>");
  this._setupTitleBar();
  
  this.boxy.css('display', 'none').appendTo(document.body);
  this.toTop();

  if (this.options.fixed) {
    if (jQuery.browser.msie && jQuery.browser.version < 7) {
      this.options.fixed = false; // IE6 doesn't support fixed positioning
    } else {
      this.boxy.addClass('fixed');
    }
  }
  
  if (this.options.center && Boxy._u(this.options.x, this.options.y)) {
    this.center();
  } else {
    this.moveTo(
      Boxy._u(this.options.x) ? this.options.x : Boxy.DEFAULT_X,
      Boxy._u(this.options.y) ? this.options.y : Boxy.DEFAULT_Y
    );
  }

  //fengwei add 2010-11-28
  //用于解决弹出框的圆角在ie中的显示问题
  if ($.browser.msie) {
    var setFilter = function(cls) {
      var obj = $(cls), ret = obj.css("background-image").match(/url\(\"(.+)\"\)/);
      if (ret == null || ret.length < 1) return;
      obj.css({
        "background": "none", "filter": "alpha(opacity=0)",
        "filter": "progid:DXImageTransform.Microsoft.
                       AlphaImageLoader(src='" + ret[1] + "')"
      });
    };

    setFilter(".top-left");
    setFilter(".top-right");
    setFilter(".bottom-left");
    setFilter(".bottom-right");
  }
  
  if (this.options.show) this.show();

};

修改好css和js文件后,再次运行程序,在IE6,7,8中均能正常弹出带边角的框了。

希望本文对您有所帮助。

Javascript 相关文章推荐
JavaScript 脚本将当地时间转换成其它时区
Mar 19 Javascript
javascript 简练的几个函数
Aug 29 Javascript
js写一个字符串转成驼峰的实例
Jun 21 Javascript
js日期对象兼容性的处理方法
Jan 28 Javascript
node.js中的require使用详解
Dec 15 Javascript
7个jQuery最佳实践
Jan 12 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
Jun 09 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
JS实现的DOM插入节点操作示例
Apr 04 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
Vue 实现可视化拖拽页面编辑器
Feb 01 Vue.js
JS中的Replace方法使用经验分享
May 20 #Javascript
jquery使用经验小结
May 20 #Javascript
js实现字符串转日期格式的方法
May 20 #Javascript
JavaScript实现带标题的图片轮播特效
May 20 #Javascript
手机端页面rem宽度自适应脚本
May 20 #Javascript
jquery实现弹出层效果实例
May 19 #Javascript
jQuery结合ajax实现动态加载文本内容
May 19 #Javascript
You might like
星际争霸中的对战模式介绍
2020/03/04 星际争霸
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
js身份证验证超强脚本
2008/10/26 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
详解Python中的条件判断语句
2015/05/14 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python实现中文文本分句的例子
2019/07/15 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
商务英语专业应届毕业生求职信
2013/10/28 职场文书
法学院方阵解说词
2014/01/29 职场文书
业绩考核岗位职责
2014/02/01 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
学校师德承诺书
2014/05/23 职场文书
2014年村官工作总结
2014/11/24 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
解析MySQL索引的作用
2022/03/03 MySQL