2010-09-04 5 views
0

Ce que je voulais faire, c'est un logo avec transparence png et l'arrière-plan qui défile automatiquement pour donner un effet comme s'il était fait en flash. J'ai utilisé le plugin jquery.backgroundPosition.js, qui permet le défilement en arrière-plan.jquery - faire défiler l'arrière-plan

Le code:

HTML

<div id="logo"> 
    <h1><img src="img/logo.png" alt="The logo" width="420px" height="420px" /></h1> 
</div> 

CSS

#logo { 
margin: 150px 400px; 
display: block; 
width: 420px; 
height: 420px; 
overflow: hidden; 
background: transparent url('../img/bg.jpg') repeat-y 0 -1500px; 
} 

JS

$(document).ready(function(){ 
    $('#logo').animate(
     {backgroundPosition: '0 -99999999px'}, 
     {duration: 5550000} 
    ); 
}); 

Le problème est que, dans cette animation solution va très lent au début, puis vitesses et après quelques minutes, cela se fait très vite. Je suis un javascript noob alors je ne connais pas une meilleure solution.

+0

Quelles sont les dimensions de 'bg.jpg'? –

+0

c'est 420x2300px et c'est y-répété. C'est parce que c'est une image en dégradé et en faisant défiler cela fait que le logo change de couleurs. – user439573

Répondre

1

Il pourrait y avoir un problème avec l'accélération. Vous pouvez essayer d'utiliser l'accélération linéaire au lieu du jswing par défaut.

$('#logo').animate(
     {backgroundPosition: '0 -99999999px'}, 
     {duration: 5550000, easing: 'linear'} 
    ); 
+0

Sonne juste pour moi. –

Questions connexes