L'exécution de la fonction JavaScript avant le chargement de la page (fond de taille appropriée)
J'ai une image d'arrière-plan dont le contenu que je veux toujours être visible, peu importe ce qui est de l'utilisateur résolution. Donc, je veux être en mesure de déterminer quelle est la résolution et fixer des fichier d'image de fond avant le chargement de la page, sur le début. Est ce que c'est possible?
+1 pour l'idée et de poser la question.
Que faire si l'utilisateur redimensionne la fenêtre?
Rien. Le fond devrait s'adapter à la résolution de l'écran, pas à la taille actuelle de la fenêtre.
Que faire si l'utilisateur redimensionne la fenêtre?
Rien. Le fond devrait s'adapter à la résolution de l'écran, pas à la taille actuelle de la fenêtre.
OriginalL'auteur kremuwa | 2010-10-22
Vous devez vous connecter pour publier un commentaire.
Le premier point à partir duquel vous pouvez exécuter une fonction Javascript avec accès au DOM (sans attendre pour le chargement de la page) est de placer un
<script>
balise juste après l'ouverture<body>
tag.Scripts à l'intérieur de la
<head>
avant que cela se produit, mais il n'y aura pas accès aux éléments sur la page.Essayer ce code
Voir ce exemple avec certains Gangsta Lipsum texte.
Bonne question. Elle s'exécute AVANT la
<body>
tag, mais il n'y a pas d'accès pour les éléments sur la page. Je me dois de préciser que.Vous n'avez accès qu'aux éléments qui a été déclaré avant de la script-balise parce que le reste de la page n'a pas encore été analysés. C'est la raison pourquoi les gens attend pour le DOM pour être chargé avant de commencer à la toucher. Un décent cadre, il est très facile d'attacher une fonction pour les DOM-événement chargé dans un navigateur croix de chemin.
Oui, @certaines, mais en mettant quelque chose de bien après la
<body>
signifie que vous avez accès à la<body>
qui est ce que l'OP veut. Une grande page, il y aura un délai avant que la nouvelle image d'arrière-plan est affichée.Vous avez également accès à
<html>
et<head>
si ils sont définis... Désolé 🙂 OP pourrait mettre dans une feuille de style dans l'en-tête, avec javascript:<script type="text/javascript">document.write("<style type='text/css'>body{background:#f00;}<\/style>");</script>
(peut calculer la largeur et la hauteur et mettreurl(image" +dim ")
avec la couleur.)OriginalL'auteur Marko
Vérifier cet article sur l'obtention de la résolution de l'écran en Javascript: http://andylangton.co.uk/articles/javascript/browser-screen-resolution/
Des balises de Script exécuter inline si vous ne faites rien de spécial à reporter (et de différer l'exécution de script n'est pas pris en charge sur tous les navigateurs). Cela signifie d'une balise de script imbriquées à l'intérieur du corps de la balise sera exécuté avant que le reste du corps de la charge. Vous pourriez avoir votre script de détection de la résolution de l'écran et définir l'image de fond pour le corps droit.
pas de problème. Merci 🙂
OriginalL'auteur Gopherkhan
À l'aide d'un framework JavaScript comme MooTools vous pouvez utiliser le DomReady de l'événement au lieu de onLoad (qui attend tous les éléments de l'image à charger), vous pouvez déclencher un événement lorsque la page est chargée.
Alternativement avec CSS, vous pouvez la position absolue en haut à gauche et width:100% pour gagner le jour. :O
OriginalL'auteur M2tM
Je me rends compte que vous êtes en demandant explicitement à propos de JavaScript, mais il y a de très décent technique pour le faire avec CSS (et éventuellement un peu de JavaScript) décrit à la CSS Astuces site.
La technique que j'ai lié à utilise CSS pour agrandir l'image afin qu'elle s'adapte au navigateur de la fenêtre d'affichage. Il ne permet pas de redimensionner la fenêtre.
Je sais que - "je ne veux pas ça pour redimensionner la fenêtre" - cela signifie: "je ne veux pas à l'échelle de l'arrière-plan lorsque la fenêtre (et le navigateur de la fenêtre d'affichage change sa taille". Je veux l'adapter uniquement à l'écran de largeur.
Mon erreur! J'ai mal lu ton premier commentaire. 🙂
OriginalL'auteur stevelove