<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Boxy on 冯威的博客</title><link>https://fwhyy.com/tags/boxy/</link><description>Recent content in Boxy on 冯威的博客</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 09 Dec 2010 00:00:00 +0800</lastBuildDate><atom:link href="https://fwhyy.com/tags/boxy/atom.xml" rel="self" type="application/rss+xml"/><item><title>jQuery boxy插件弹出框的四个边角图片在IE中不显示问题的解决</title><link>https://fwhyy.com/2010/12/jquery-boxy-plug-in-pop-up-the-four-edges-of-images-in-ie-dont-show/</link><pubDate>Thu, 09 Dec 2010 00:00:00 +0800</pubDate><guid>https://fwhyy.com/2010/12/jquery-boxy-plug-in-pop-up-the-four-edges-of-images-in-ie-dont-show/</guid><description>&lt;p&gt;jQuery boxy插件很好用，但也会出现一些问题，比如弹出框的边角在IE中不能显示。本博文将来解决这个问题。将boxy插件引用到项目中后会有一个boxy.css文件和jquery.boxy.js文件。在boxy.css文件中有给弹出框设置四个角图片的样式，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2022/202201300719946.webp" alt="2010-12-08_232652" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;不做任何修改在Chrome浏览器下没有问题，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2022/202201300719056.webp" alt="2010-12-08_234216" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;在网上查了一些资料，说将css文件中的图片路径给位全路径可以解决问题，如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2022/202201300719018.webp" alt="2010-12-08_234934" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;发现这样修改后并没有作用，运行后效果仍然如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2022/202201300720107.webp" alt="2010-12-08_235049" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;有效的解决方法&lt;/p&gt;
&lt;p&gt;将上面css截图的下半部分注释掉，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2010/2010-12-08_235357.webp" alt="2010-12-08_235357" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;然后在jquery.boxy.js文件中的Boxy函数中添加一段脚本，下面贴出修改后的Boxy函数代码：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;function Boxy(element, options) {

 this.boxy = jQuery(Boxy.WRAPPER);
 jQuery.data(this.boxy[0], &amp;#39;boxy&amp;#39;, 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, &amp;#39;active.boxy&amp;#39;, this);
 }

 this.setContent(element || &amp;#34;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;#34;);
 this._setupTitleBar();

 this.boxy.css(&amp;#39;display&amp;#39;, &amp;#39;none&amp;#39;).appendTo(document.body);
 this.toTop();

 if (this.options.fixed) {
 if (jQuery.browser.msie &amp;amp;&amp;amp; jQuery.browser.version &amp;lt; 7) {
 this.options.fixed = false; // IE6 doesn&amp;#39;t support fixed positioning
 } else {
 this.boxy.addClass(&amp;#39;fixed&amp;#39;);
 }
 }

 if (this.options.center &amp;amp;&amp;amp; 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(&amp;#34;background-image&amp;#34;).match(/url\(\&amp;#34;(.+)\&amp;#34;\)/);
 if (ret == null || ret.length &amp;lt; 1) return;
 obj.css({
 &amp;#34;background&amp;#34;: &amp;#34;none&amp;#34;, &amp;#34;filter&amp;#34;: &amp;#34;alpha(opacity=0)&amp;#34;,
 &amp;#34;filter&amp;#34;: &amp;#34;progid:DXImageTransform.Microsoft.
 AlphaImageLoader(src=&amp;#39;&amp;#34; + ret[1] + &amp;#34;&amp;#39;)&amp;#34;
 });
 };

 setFilter(&amp;#34;.top-left&amp;#34;);
 setFilter(&amp;#34;.top-right&amp;#34;);
 setFilter(&amp;#34;.bottom-left&amp;#34;);
 setFilter(&amp;#34;.bottom-right&amp;#34;);
 }
 if (this.options.show) this.show();
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;修改好css和js文件后，再次运行程序，在IE6,7,8中均能正常弹出带边角的框了。&lt;/p&gt;</description></item></channel></rss>