Je ne comprends pas quelque chose sur les variables en javascript. J'essaie de changer/calculer "offset" (avec la variable "theOffset") soit avant que la fonction localScroll se produise, ou plus préférablement lorsque vous redimensionnez la fenêtre. Aucune des instances ci-dessous ne fonctionne, acceptez pour "// initialiser le décalage". Comment modifier la variable "theOffset" à l'intérieur de "$ .localScroll"?La variable Javascript ne fonctionne pas. Pourquoi?
jQuery(function($){
//initialize offset
var windowWidth = $(window).width();
if (windowWidth < 900) {
theOffset = 0;
} else {
theOffset = ($(window).width() - 900)/-2;
}
$(window).resize(function() {
//calculate offset
var windowWidth = $(window).width();
if (windowWidth < 900) {
theOffset = 0;
} else {
theOffset = ($(window).width() - 900)/-2;
}
});
$.localScroll({
target: '#content',
queue:true,
duration:1500,
hash:true,
stop:true,
onBefore:function(e, anchor, $target){
//calculate offset
var windowWidth = $(window).width();
if (windowWidth < 900) {
theOffset = 0;
} else {
theOffset = ($(window).width() - 900)/-2;
}
},
offset: {top:0, left: theOffset,
onAfter:function(anchor, settings){
if (windowWidth < 900) {
theOffset = 0;
} else {
theOffset = ($(window).width() - 900)/-2;
}
}
});
});
Si besoin de savoir, je suis le centrage d'un conteneur div à la fenêtre avec le décalage dans un site Web de défilement côté de fantaisie;)
Vous avez 3 erreurs sur http://www.jslint.com –
Même sans erreur, le même problème persiste ... '{top: 0, left: theOffset}' est évalué lors de l'exécution, donc aucune quantité de fermetures de portée variable ne va corriger le comportement et le rendre dynamique sans savoir/[ab ] en utilisant l'API de défilement vers/internal ou en invoquant à nouveau la fonction localScroll. –