2010-12-30 7 views
1

Ich versuche, FadeIn/Out-Effekt tun, wenn ich innerHTML eines div ändern. Selbst versucht Beispiel bei safari docwebkit - css Übergangseffekt auf einem div

Ich möchte das Div auszublenden, ändern Sie den Inhalt und dann wieder mit neuen Inhalten einblendet.

<style> 
.cv { background-color: #eee; -webkit-transition: all 1s ease-in-out;} 
.cf {opacity: 0;} 
</style> 
<body> 
<div id="main"> 
    <div id="c"> OLD </div> 
</div> 
</body> 
<script> 
var c = document.getElementById("c"); 
c.setAttribute("class", "cf"); 
c.innerHTML = ''; 
c.appendChild(fragment); 
c.setAttribute("class", "cv"); 
</script> 

Bitte helfen Sie mir hier

+0

Haben Sie 'fragment' woanders definiert? Wenn nicht, dann wird nichts an "c" angehängt, wodurch möglicherweise ein JavaScript-Fehler erzeugt wird und die Codeausführung angehalten wird. –

+0

Sie wollen, dass es ausblendet, den Inhalt ändert und dann wieder einblendet? –

+0

Ja, ich möchte das div ausblenden, den Inhalt ändern und dann wieder mit neuem Inhalt einblenden – Vjy

Antwort

0

Dies ist, was ich endlich beendet habe. Vielen Dank für die Antworten

0
<style> 
.cv { background-color: #eee; -webkit-transition: all 1s ease-in-out;} 
/* .cf {opacity: 0;} */ 
</style> 
<body> 
<div id="main"> 
    <div id="c"> OLD </div> 
</div> 
<script> 
var c = document.getElementById("c"); 
c.setAttribute("class", "cf"); 
// c.innerHTML = ''; 
// c.appendChild(fragment); 
c.setAttribute("class", "cv"); 
</script> 
</body> 

diesen Code ausprobieren. Setzen Sie das Skript vor den Tag, nicht nach dem Tag.

+0

das ist nicht was ich will – Vjy

2
<style> 
.cv { opacity:1; background-color: #eee; -webkit-transition: all 1s ease-in-out;} 
.cv.hide {opacity: 0;} 
</style> 

[...] 

<script> 
c.setAttribute("class", "cv hide"); 
[...] 
c.setAttribute("class", "cv"); 
</script> 
Verwandte Themen