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接收get传递的值的代码
Nov 30 Javascript
我的Node.js学习之路(二)NPM模块管理
Jul 06 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
Mar 01 Javascript
js实现简单的左右两边固定广告效果实例
Apr 10 Javascript
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
javascript正则表达式总结
Feb 29 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
jquery 实现回车登录详解及实例代码
Oct 23 Javascript
bootstrap表单示例代码分享
May 18 Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
js中事件对象和事件委托的介绍
2019/01/21 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
2019/02/21 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Django 生成登陆验证码代码分享
2017/12/12 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
Python的信号库Blinker用法详解
2020/12/31 Python
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
《散步》教学反思
2014/03/02 职场文书
参赛口号
2014/06/16 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
500字作文之周记
2019/12/13 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript