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+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
js中判断用户输入的值是否为空的简单实例
Dec 23 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
javascript获取图片的top N主色值方法详解
Jan 26 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
Nov 14 Javascript
JS执行控制之节流模式实例分析
Dec 21 Javascript
vue点击自增和求和的实例代码
Nov 06 Javascript
vscode调试node.js的实现方法
Mar 22 Javascript
详解Typescript里的This的使用方法
Jan 08 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数组函数
2008/08/18 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
js倒计时显示实例
2016/12/11 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
JS对日期操作封装代码实例
2019/11/08 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
python利用微信公众号实现报警功能
2018/06/10 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python实现五子棋游戏
2019/06/18 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python post请求实现代码实例
2020/02/28 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
酒店保安员岗位职责
2014/01/31 职场文书
工作时间上网检讨书
2014/02/03 职场文书
国际贸易实训报告
2014/11/05 职场文书
小学入学感言
2015/08/01 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书