2012-04-12 11 views
0

Also habe ich Code, um den Hintergrund zu tauschen, das Problem, das ich habe, ist mit dem Fade-Effekt in es integriert. Ich habe es schon eine Weile durcheinander gebracht und ich bin nur frustriert. Also ist der Code da, sieh dir an wie du das hacken kannst um zu arbeiten.Mootools 1.4.3 Hintergrund Fade Effect

Mootools 1.4.3

.socialIconsFB { 
    float: right; 
    display: block; 
    margin: -20px 3px; 
    width: 48px; 
    height: 57px; 
    background-image: url(XXXXXX/social_icons/facebook.png); 
} 

<div class="socialIconsFB"></div> 


$$('.socialIconsFB').each(function(socialIconsFB) { 
    socialIconsFB.addEvent('mouseover', function() { 
     this.tween("background-image", "url(XXXXXX/social_icons/facebook.png)", "url(XXXXXX/social_icons/facebook_highlight.png)"); 
    }); 
    socialIconsFB.addEvent('mouseout', function() { 
     this.tween("background-image", "url(XXXXXX/social_icons/facebook.png)"); 
    }); 
}); 

Antwort

2

Ich denke, dass "Tweens" Effekte nicht mit "background-image" arbeiten, sondern arbeiten mit "background-color" würde ich auf diese Weise versuchen:

HTML:

<div class="socialIconsFB"> 
    <span></span> 
</div> 

CSS:

.socialIconsFB { 
     float: right; 
     display: block; 
     margin: -20px 3px; 
     width: 48px; 
     height: 57px; 
     background-image: url(XXXXXX/social_icons/facebook.png); 
} 
.socialIconsFB span{ 
    margin:0; padding:0; 
    opacity:0; filter:alpha(opacity=0); 
    width:100%; 
    height:100%; 
    background-image: url(XXXXXX/social_icons/facebook_highlight.png); 
} 

javascript:

$$('.socialIconsFB').each(function(socialIconsFB) { 
    socialIconsFB.addEvents({ 
     'mouseenter': function(){ 
       this.getChildren('span').tween("opacity", 1); 
       //it could be: this.getChildren('span')[0] 
      }, 

     'mouseleave': function(){ 
       this.getChildren('span').tween("opacity", 0); 
       //it could be: this.getChildren('span')[0] 
      } 
    }); 

}); 
+0

Auf jeden Fall "Tweens" arbeiten auf diese Weise: el.tween ("Eigentum", val_end); oder el.tween ("Eigenschaft", [val_start, val_end]); – Donovant

+0

+1 richtig - Zwischen zwei Bildquellen kann nicht zwischengespielt werden. Tween basiert auf Fx und Fx.compute - das eine Abstraktion zum Erstellen mehrerer Schritte zwischen numerischen Einheiten bereitstellt. –