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 相关文章推荐
JS继承 笔记
Jul 13 Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
Bootstrap3学习笔记(三)之表格
May 20 Javascript
javascript实现标签切换代码示例
May 22 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
Angular.JS中select下拉框设置value的方法
Jun 20 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
微信小程序缓存过期时间的使用详情
May 12 Javascript
微信小程序 根据不同用户切换不同TabBar
Apr 21 Javascript
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
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
js 异步处理进度条
2010/04/01 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
jquery制作多功能轮播图插件
2015/04/02 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
微信小程序实现换肤功能
2018/03/14 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
python实现根据文件格式分类
2019/10/31 Python
Python tornado上传文件的功能
2020/03/26 Python
python中remove函数的踩坑记录
2021/01/04 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
揭牌仪式主持词
2014/03/19 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
python tqdm用法及实例详解
2021/06/16 Python