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字符串的各种格式的转换 ToString,Format
Aug 08 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
jQuery实现的网页左侧在线客服效果代码
Oct 23 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
Jan 05 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
javascript实现秒表计时器的制作方法
Feb 16 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
vue-ajax小封装实例
Sep 18 Javascript
实例讲解javascript实现异步图片上传方法
Dec 05 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
微信小程序实现随机验证码功能
Dec 20 Javascript
微信小程序云开发 搭建一个管理小程序
May 17 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初学入门
2006/11/19 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
javascript Keycode对照表
2009/10/24 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
vue如何获取点击事件源的方法
2017/08/10 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
2020/10/14 Javascript
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python正则表达式re模块详解
2014/06/25 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
进一步了解Python中的XML 工具
2015/04/13 Python
python如何查看系统网络流量的信息
2016/09/12 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Python常见数据类型转换操作示例
2019/05/08 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
全球性的在线商店:Vogca
2019/05/10 全球购物
《月迹》教学反思
2014/02/19 职场文书
红色故事演讲稿
2014/05/22 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python