J'ai un projet PhoneGap/Cordova qui m'oblige à utiliser une combinaison de transitions JQuery et CSS pour réaliser des animations (les animations JQuery sont lourdes sur iOS).
J'ai créé un code qui met en œuvre une série de menus déroulants, mais je pense qu'il est mal fait et je cherche des conseils pour l'améliorer.
Ma principale préoccupation concerne le positionnement des divs, notamment l'utilisation de marges négatives.
Si je modifiais la longueur d'un div, tout serait désaligné. Je dois appliquer une marge négative (margin-top) pour que les div s'affichent en haut de l'écran, sinon ils se retrouveraient en bas de l'écran comme s'ils avaient été chargés normalement, l'un après l'autre.
De plus, il y a beaucoup d'espace blanc en bas de la page, là où se trouvent les divs. supposée d'être, si la traduction ne leur avait pas été appliquée.
CSS :
#dropdiv1 {
-webkit-transform: translate(0, -3000px);
-webkit-transition: all ease-in 1s;
}
#dropdiv2 {
-webkit-transform: translate(0, -3400px);
-webkit-transition: all ease-in 1s;
}
#dropdiv3 {
-webkit-transform: translate(0, -4200px);
-webkit-transition: all ease-in 1s;
}
JQuery :
$('#clickme1').click(
function() {
$('#dropdiv1').css('-webkit-transform','translate(0, -335px)');
});
$('#clickme2').click(
function() {
$('#dropdiv2').css('-webkit-transform','translate(0, -2335px)');
});
$('#clickme3').click(
function() {
$('#dropdiv3').css('-webkit-transform','translate(0, -3300px)');
});