J'aimerais beaucoup recevoir de l'aide sur la base de l'image suivante :
En outre, j'essaie d'obtenir un défilement (infini) du texte vert à l'intérieur de l'écran. div.title-holder
. Mon objectif est de faire en sorte que le défilement ne commence que sur mouseOver puis réinitialiser sur sortie de la souris de div.container
. Je pensais que ce serait une tâche simple avec un peu de CSS et de jQuery, mais apparemment ce n'est pas le cas. Voici mon HTML, mon CSS et le JS qui l'accompagne :
<div class="container">
<div class="title-holder">
<a href="somelink.html">long text that needs to scroll</a>
</div>
<img src="someimage.jpg" />
</div>
CSS pertinent :
div.title-holder {
width:130px;
height:20px;
overflow:hidden;
white-space:no-wrap;
text-align:center;
}
div.title-holder a {
}
jQuery JS :
$('div.container').hover(
function () {
var scrollingWidth = $(this).find('div.title-holder').find('a').width();
$(this).find('div.title-holder').stop(true, true).animate({scrollLeft: scrollingWidth}, { duration: 5000, easing: 'swing' });
},
function () {
$(this).find('div.title-holder').stop(true, true).animate({scrollLeft: 0}, { duration: 5000, easing: 'swing' });
}
);
Cela fonctionne bien, à l'exception de deux problèmes :
- Il ne défile pas à l'infini, et
- L'action de défilement est très très nerveux/agité
J'espère vraiment que quelqu'un a eu un besoin similaire dans le passé et qu'il pourra m'éclairer sur cette question. Merci de votre attention !