У меня есть простой 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, вы поймете, что я имею в виду.Понятия не имею, что происходит ...