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 一些用法小结
Sep 11 Javascript
Json字符串转换为JS对象的高效方法实例
May 01 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
AngularJS基础知识笔记之过滤器
May 10 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
JavaScript面向对象分层思维全面解析
Nov 22 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
vue两个组件间值的传递或修改方式
Jul 04 Javascript
JS脚本实现定时到网站上签到/签退功能
Apr 22 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
在vue中动态修改css其中一个属性值操作
Dec 07 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
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
关于jQuery object and DOM element
2013/04/15 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
不要用强制方法杀掉python线程
2017/02/26 Python
python中实现k-means聚类算法详解
2017/11/11 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
python实现简单的五子棋游戏
2020/09/01 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
篮球赛新闻稿
2015/07/17 职场文书
Python图片处理之图片裁剪教程
2021/05/27 Python