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 事件处理
Jan 04 Javascript
删除javascript所创建子节点的方法
May 21 Javascript
由ReactJS的Hello world说开来
Jul 02 Javascript
引用jquery框架后出错的解决方法
Aug 09 Javascript
node+express制作爬虫教程
Nov 11 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
详解如何较好的使用js
Dec 16 Javascript
Jil,高效的json序列化和反序列化库
Feb 15 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
Jul 13 Javascript
基于vue通用表单解决方案的思考与分析
Mar 16 Javascript
原生JS实现萤火虫效果
Mar 07 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 addslashes 函数详细分析说明
2009/06/23 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
JS document对象简单用法完整示例
2020/01/14 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
基于openlayers实现角度测量功能
2020/09/28 Javascript
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python实现关键词提取的示例讲解
2018/04/28 Python
python实现简单图书管理系统
2019/11/22 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
门卫岗位职责
2013/11/15 职场文书
益达广告词
2014/03/14 职场文书
英文自荐信常用句子
2014/03/26 职场文书
群众路线领导对照材料
2014/08/23 职场文书
公司晚宴祝酒词
2015/08/11 职场文书