【问题标题】:Problem with Opacity in IEIE中的不透明度问题
【发布时间】:2011-04-01 19:23:13
【问题描述】:

我有一个简单的 href 调用一个 javascript 函数,该函数使 div 隐藏并显示另一个而不是它。然后我使用 javascript 来添加一些不错的淡入效果。它在 Firefox 和 chrome 中运行良好。在 IE 上,我必须使用 width: 100% 才能使其工作。而且它现在正在工作,它完全破坏了我的字体类型。代码如下:

Javascript:

function switch() 
{


if(document.getElementById("div1").style.visibility == "visible")
 {
  document.getElementById("div1").style.visibility = "hidden";
  document.getElementById("div1").style.display = "none";
  document.getElementById("div2").style.visibility = "visible";
  document.getElementById("div2").style.display = "block";  
  initfade('div2');
 }
 else
 {
  document.getElementById("div2").style.visibility = "hidden";
  document.getElementById("div2").style.display = "none";
  document.getElementById("div1").style.visibility = "visible";
  document.getElementById("div1").style.display = "block";   
  initfade('div1');
 }
 }

function initfade(img) {

   imageId = img;
   image = document.getElementById(imageId);
   setOpacity(image, 0);
   image.style.visibility = 'visible';
   fadeIn(imageId,0);
 }
 function setOpacity(obj, opacity) {
   opacity = (opacity == 100)?99.999:opacity;

   // IE/Win
   obj.style.filter = "alpha(opacity="+opacity+")";

   // Safari<1.2, Konqueror
   obj.style.KHTMLOpacity = opacity/100;

   // Older Mozilla and Firefox
   obj.style.MozOpacity = opacity/100;

   // Safari 1.2, newer Firefox and Mozilla, CSS3
   obj.style.opacity = opacity/100;
  }

  function fadeIn(objId,opacity) {
     if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity <= 100) {
            setOpacity(obj, opacity);
            opacity += 30;
            window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
         }
         if (opacity > 100) {
      setOpacity(obj, 100);
         }    
      }
   }

HTML:

<div id="div1" class="theStyle2_visible" style="visibility: visible;">
    <div id="normal" class="normal">
       <p>Example Text</p>
    </div>
</div>
<div id="div2" class="theStyle2" >
    <div id="normal" class="normal">
       <p>Example Text</p>
    </div>
</div>
<a id="switchlink" href="javascript:switch();">Switch</a>

CSS:

    .theStyle2 { 
 visibility: hidden;
 width: 100%;
 display: none;
 z-index: -1; 
     }
     .theStyle2_visible {
 width: 100%; 
     }
     #normal{
        font: 0.9em  arial;
        font-weight:400;
        line-height: 20px;
 text-align:justify;
     }

我不知道我做错了什么以及如何修复它,或者这是否只是一个错误,但我已经尝试了一百万件事,但似乎没有任何效果。 有好心人来帮帮我吗? 请!

谢谢。

编辑:此处的实时链接:www.optimizer.pt/fade 如果你在 Firefox 和 IE 上测试它,你就会明白我的意思。我不知道发生了什么......

【问题讨论】:

  • “破坏我的字体类型”是什么意思?你能更详细地解释一下出了什么问题吗?
  • 通过使用 jquery 和自定义滚动条,我已经解决了 IE 不知道 Alpha 是什么的问题
  • 它只是失去了最初的字体类型和大小。
  • @tr-raziel 这仍然不是一个真正有用的描述。一个实时链接会很好。
  • 明天我会放一个实时链接。

标签: javascript html internet-explorer opacity


【解决方案1】:

不确定是什么问题,但是当你说“破坏我的字体类型”时:你能给褪色的元素一个背景颜色吗?这通常会有所帮助。

【讨论】:

  • 我已经尝试过了,但没有帮助。我真的不知道问题是什么。这真的很奇怪。那就是我也不知道怎么解决...
猜你喜欢
  • 1970-01-01
  • 2011-10-12
  • 2010-10-29
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 2011-05-21
相关资源
最近更新 更多