J'ai une page qui contient un div qui doit être redimensionné via JS lors du chargement d'une page. Pour ce faire, je lui donne une « largeur par défaut » de 760px puis exécutez le code suivant:jQuery - exécution d'une fonction avant document.ready ... mais pas trop tôt
function resizeList()
{
var wlwidth,iwidth,nwidth;
wlwidth = document.body.clientWidth - 200 - 60;
iwidth = 320;
nwidth = Math.floor(wlwidth/iwidth) * iwidth;
$('#list').css('width',nwidth);
}
$(document).ready(function(){
// if we're looking at a list, do the resize-thing, now and on window resize
if (window.location.pathname.toString().split('/')[1] == "list")
{
resizeList();
window.onresize = resizeList;
}
});
Cependant, la page peut prendre un certain temps à charger que le #list
div contient beaucoup d'images. Ainsi, le div est seulement développé pour remplir la largeur correcte après que tout le contenu ait fini de charger. Je ne peux pas simplement le sortir de la fonction $(document).ready
car autrement, il ne serait plus possible de dire que document.body n'est pas défini.
Existe-t-il un moyen de redimensionner le div #list
avant que tout son contenu ait été chargé?
Modifier
S'il vous plaît voir: http://www.google.com/images?q=whatever
Ils ont accompli ce que je suis en train de faire avec succès. La liste est correctement dimensionnée immédiatement lors du chargement de la page et est ensuite renseignée. Vous pouvez dire qu'ils redimensionnent tout via JS en redimensionnant la fenêtre et en regardant les éléments se déplacer en douceur. Malheureusement, JS de Google est pas le plus facile dans le monde à lire soupir
Vous pouvez essayer de régler l'affichage: aucun; à #list, en changeant sa taille, puis en réglant l'affichage: bloquez-le via jQuery. Je peux me tromper - mais je pense que le navigateur ne chargera pas les images à l'intérieur d'un div caché. – Marko
idée très intéressante! Je vais essayer ... bien que cela se dégradera très mal pour les utilisateurs non-JS, masquant irrévocablement le #list div – Mala