jquery molette de la souris
Je veux faire défiler le contenu d'un div avec la roulette de la souris plugin jquery. J'ai cela mais sa ne fonctionne pas. Toutes les pensées?
$(function() {
$('#contentBox').bind('mousewheel', function(event, delta) {
if (delta > 0) {
$('#contentBox').css('top', parseInt($('#contentBox').css('top'))+40);
} else {
$('#contentBox').css('top', parseInt($('#contentBox').css('top'))-40);
}
return false;
});
});
La vraie réponse: stackoverflow.com/questions/8886281/...
OriginalL'auteur user520300 | 2011-05-15
Vous devez vous connecter pour publier un commentaire.
Juste une supposition : l'ajout d' + 'px' à la valeur CSS arranger les choses? En fait, ce n' "médias"?
Mise à JOUR
OK, j'ai eu la chance de tester votre code et ça a l'air bon, en supposant que vous avez mis le CSS correctement. Avez-vous fait d'attribuer une valeur pour
top
sur #contentBox déjà? Sans une valeur existante,parseInt($('#contentBox').css('top'))
sera de retourNaN
. Voici le code que j'ai utilisé:Notez que j'ai utilisé l'opérateur ternaire simplifier/réduire un peu le code, mais c'est juste pour garder la taille de cette réponse un peu, et est entièrement facultative. Aussi, je l'ai juste utilisé quelques test CSS là pour voir ce que je fais; je suis sûr que le vôtre est différent!
l'ajout de l' + 'px' na pas de travailler
Je sais que c'est évident, mais une console.journal (le) de delta et de votre .css.('top', ...) va vous dire où est le problème.
Aussi, est que le code réel, exactement? On dirait que vous êtes absent de $ entre les deux parenthèses après parseint
code mis à jour... la div ne sera toujours pas de défilement avec la molette de la souris
OriginalL'auteur Bobby Jack
http://www.adomas.org/javascript-mouse-wheel/
var delta = e.wheelDelta || -e.detail || e.originalEvent.wheelDelta || -e.originalEvent.detail
OriginalL'auteur ruvan
Si vous utilisez jQuery 1.6, vous pouvez écrire:
et de l'oublier.
Évidemment, vous avez encore besoin de CSS pour bien déclarer
#contentBox
être en positionnement absolu et tout le reste.OriginalL'auteur Simone Gianni