Maison interface Web js tutoriel Comment mettre à l'échelle le contenu qui se charge automatiquement lors du défilement vers le bas de la page en JavaScript tout en conservant les proportions et l'affichage centré ?

Comment mettre à l'échelle le contenu qui se charge automatiquement lors du défilement vers le bas de la page en JavaScript tout en conservant les proportions et l'affichage centré ?

Oct 27, 2023 pm 01:49 PM
缩放 滚动加载 rapport hauteur/largeur Affichage central

JavaScript 如何实现滚动到页面底部自动加载的内容缩放并保持纵横比和居中显示?

JavaScript Comment réaliser un défilement vers le bas de la page pour charger automatiquement le zoom du contenu et conserver les proportions et l'affichage centré ?

Dans le développement Web, nous devons parfois charger automatiquement plus de contenu lorsque l'utilisateur fait défiler vers le bas de la page. Pendant le processus de chargement, le contenu doit souvent être mis à l'échelle pour garantir un bel affichage. Cet article explique comment utiliser JavaScript pour charger automatiquement le contenu lors du défilement vers le bas de la page et pour mettre à l'échelle le contenu chargé tout en conservant ses proportions et son affichage centré.

Tout d'abord, nous devons écouter l'événement de défilement de la page Web. Une fonction qui charge le contenu est déclenchée lors du défilement vers le bas de la page. Par exemple :

window.addEventListener('scroll', function() {
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
        // 执行加载内容的函数
        loadMoreContent();
    }
});
Copier après la connexion

Dans le code ci-dessus, window.innerHeight représente la hauteur de la fenêtre du navigateur, window.scrollY représente le décalage vertical de la barre de défilement, document.body.offsetHeight représente la hauteur de la page entière. Lors du défilement vers le bas de la page, la valeur de window.innerHeight + window.scrollY sera supérieure ou égale à la valeur de document.body.offsetHeight. window.innerHeight表示浏览器窗口的高度,window.scrollY表示滚动条的垂直偏移量,document.body.offsetHeight表示整个页面的高度。当滚动到页面底部时,window.innerHeight + window.scrollY的值将大于或等于document.body.offsetHeight的值。

接下来,我们需要定义加载内容的函数loadMoreContent()。在这个函数中,我们可以使用AJAX等技术从服务器动态加载内容。为了简单起见,在这里我们假设已经有一个数组contentData存储了要加载的内容。我们将获取数组中的内容,并动态创建DOM元素来展示。

function loadMoreContent() {
    // 获取要加载的内容
    var content = contentData.shift();
    
    // 创建DOM元素
    var contentDiv = document.createElement('div');
    contentDiv.className = 'content-div';
    var img = document.createElement('img');
    img.src = content.imgUrl;
    // 设置缩放样式
    img.style.maxHeight = '100%';
    img.style.maxWidth = '100%';
    img.style.objectFit = 'contain';
    contentDiv.appendChild(img);
    
    // 将DOM元素插入页面指定位置
    var container = document.getElementById('content-container');
    container.append(contentDiv);
    
    // 确保居中显示
    centerContent(contentDiv);
}
Copier après la connexion

在上述代码中,我们首先从contentData数组中取出要加载的内容。然后,创建一个<div>元素作为内容的容器,在其中创建一个<img>元素用于展示内容。通过设置img元素的样式,我们将内容进行缩放,保证其纵横比并居中显示。最后,通过append方法将内容插入到页面指定位置。

为了保持加载的内容居中显示,我们还需要定义一个函数centerContent(elem)

function centerContent(elem) {
    // 获取父容器的宽度和高度
    var parentWidth = elem.parentNode.offsetWidth;
    var parentHeight = elem.parentNode.offsetHeight;
    
    // 获取内容的宽度和高度
    var contentWidth = elem.offsetWidth;
    var contentHeight = elem.offsetHeight;
    
    // 计算左边和上边的偏移量
    var leftOffset = (parentWidth - contentWidth) / 2;
    var topOffset = (parentHeight - contentHeight) / 2;
    
    // 设置居中样式
    elem.style.left = leftOffset + 'px';
    elem.style.top = topOffset + 'px';
}
Copier après la connexion

在上述代码中,我们首先获取父容器的宽度和高度,以及内容的宽度和高度。然后,通过计算父容器和内容之间的偏移量,将内容居中显示。最后,通过设置lefttop

Ensuite, nous devons définir la fonction loadMoreContent() pour charger le contenu. Dans cette fonction, nous pouvons charger dynamiquement du contenu depuis le serveur en utilisant des technologies telles que AJAX. Par souci de simplicité, nous supposons ici qu'il existe déjà un tableau contentData qui stocke le contenu à charger. Nous obtiendrons le contenu du tableau et créerons dynamiquement des éléments DOM à afficher.

rrreee

Dans le code ci-dessus, nous retirons d'abord le contenu à charger du tableau contentData. Ensuite, créez un élément <div> en tant que conteneur pour le contenu, puis créez un élément <img> à l'intérieur pour afficher le contenu. En stylisant l'élément img, nous mettons à l'échelle le contenu pour conserver ses proportions et le centrons. Enfin, le contenu est inséré à l'emplacement spécifié sur la page via la méthode append. 🎜🎜Afin de garder le contenu chargé affiché au centre, nous devons également définir une fonction centerContent(elem). 🎜rrreee🎜Dans le code ci-dessus, nous obtenons d'abord la largeur et la hauteur du conteneur parent, ainsi que la largeur et la hauteur du contenu. Ensuite, le contenu est centré en calculant le décalage entre le conteneur parent et le contenu. Enfin, centrez le contenu en définissant les styles left et top. 🎜🎜Grâce au code ci-dessus, davantage de contenu sera automatiquement chargé lorsque l'utilisateur fera défiler vers le bas de la page, et le contenu chargé sera mis à l'échelle pour conserver son rapport hauteur/largeur et son affichage centré. Bien entendu, nous pouvons également personnaliser davantage de styles et de fonctions en fonction de besoins spécifiques. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Afficher le guide de mise à l'échelle sur Windows 11 Afficher le guide de mise à l'échelle sur Windows 11 Sep 19, 2023 pm 06:45 PM

Nous avons tous des préférences différentes en matière de mise à l'échelle de l'affichage sur Windows 11. Certaines personnes aiment les grandes icônes, d’autres les petites. Cependant, nous sommes tous d’accord sur le fait qu’il est important d’avoir la bonne échelle. Une mauvaise mise à l'échelle des polices ou une mise à l'échelle excessive des images peuvent nuire à la productivité lorsque vous travaillez. Vous devez donc savoir comment la personnaliser pour tirer le meilleur parti des capacités de votre système. Avantages du zoom personnalisé : Il s'agit d'une fonctionnalité utile pour les personnes qui ont des difficultés à lire du texte à l'écran. Cela vous aide à voir plus sur l’écran à la fois. Vous pouvez créer des profils d'extension personnalisés qui s'appliquent uniquement à certains moniteurs et applications. Peut aider à améliorer les performances du matériel bas de gamme. Cela vous donne plus de contrôle sur ce qui est sur votre écran. Comment utiliser Windows 11

Problème de zoom Safari sur iPhone : voici la solution Problème de zoom Safari sur iPhone : voici la solution Apr 20, 2024 am 08:08 AM

Si vous n'avez pas de contrôle sur le niveau de zoom dans Safari, faire avancer les choses peut être délicat. Donc, si Safari semble zoomé, cela pourrait être un problème pour vous. Voici quelques façons de résoudre ce problème mineur de zoom dans Safari. 1. Grossissement du curseur : sélectionnez « Affichage » > « Grossissement du curseur » dans la barre de menu Safari. Cela rendra le curseur plus visible sur l'écran, ce qui facilitera son contrôle. 2. Déplacez la souris : Cela peut paraître simple, mais parfois, le simple fait de déplacer la souris vers un autre emplacement de l'écran peut automatiquement la ramener à sa taille normale. 3. Utilisez les raccourcis clavier Fix 1 – Réinitialiser le niveau de zoom Vous pouvez contrôler le niveau de zoom directement depuis le navigateur Safari. Étape 1 – Lorsque vous êtes dans Safari

Comment zoomer des pages côte à côte dans Word Comment zoomer des pages côte à côte dans Word Mar 19, 2024 pm 07:19 PM

Lorsque nous utilisons des documents Word pour éditer des fichiers, il y a parfois plusieurs pages. Nous voulons les afficher côte à côte et vérifier l'effet global. Cependant, comme nous ne savons pas comment fonctionner, nous devons souvent faire défiler pendant longtemps. pour visualiser page par page. Je ne sais pas si vous avez déjà rencontré une situation similaire. En fait, nous pouvons facilement la résoudre à ce stade, à condition d'apprendre à placer les pages de zoom côte à côte. Ci-dessous, jetons un coup d’œil et apprenons ensemble. Tout d’abord, nous créons et ouvrons une nouvelle page dans le document Word, puis entrons un contenu simple pour le distinguer plus facilement. 2. Par exemple, si nous voulons réaliser un zoom sur les mots et un affichage côte à côte, nous devons rechercher [Affichage] dans la barre de menu, puis sélectionner [Pages multiples] dans les options de l'outil d'affichage, comme indiqué dans la figure. ci-dessous : 3. Recherchez [Pages multiples] et cliquez sur,

Compétences en édition de documents Word : transformez deux pages en une seule Compétences en édition de documents Word : transformez deux pages en une seule Mar 25, 2024 pm 06:06 PM

Dans les documents Microsoft Word, vous rencontrez souvent la situation de fusionner deux pages de contenu en une seule page, en particulier lorsque vous devez économiser du papier ou lorsque vous devez imprimer un document recto verso. Plusieurs méthodes courantes pour atteindre cet objectif seront présentées ci-dessous. Méthode 1 : Ajustez les marges de la page. Ouvrez d'abord le document Word et recherchez l'option "Mise en page" dans la barre de menu. Après avoir cliqué, le menu des paramètres de mise en page apparaîtra. Ici, vous pouvez ajuster les marges de la page, y compris les marges supérieure, inférieure, gauche et droite. De manière générale, réduire les marges supérieure et inférieure permettra au contenu de tenir sur une seule page. tu peux goûter

Comment agrandir ou réduire l'intégralité du tableau Excel Comment agrandir ou réduire l'intégralité du tableau Excel Mar 20, 2024 pm 05:16 PM

Le développement de la technologie informatique, de la technologie des réseaux et de la technologie logicielle a ouvert de grandes perspectives pour la bureautique. Nos processus opérationnels de bureau actuels peuvent tous être effectués électroniquement, ce qui permet de gagner beaucoup de temps. Les tableaux Excel sont des opérations logicielles couramment utilisées. Parfois, en raison de problèmes de papier ou de composition, nous devons agrandir ou réduire l'ensemble des paramètres du tableau Excel, le cas échéant. Toutes les méthodes de fonctionnement pouvant répondre à nos besoins, jetons un coup d'œil au cours suivant. 1. Ouvrez d'abord le logiciel Excel et saisissez les informations pertinentes, comme indiqué dans la figure ci-dessous. 2. Cliquez ensuite sur l'icône dans le coin inférieur droit et déplacez-la vers la gauche ou la droite. Le signe plus peut effectuer un zoom avant et le signe moins peut effectuer un zoom arrière, comme le montre la figure ci-dessous. 3. La deuxième méthode peut également utiliser ctrl + molette de la souris.

Comment utiliser JavaScript pour faire glisser et zoomer des images tout en les limitant au conteneur ? Comment utiliser JavaScript pour faire glisser et zoomer des images tout en les limitant au conteneur ? Oct 20, 2023 pm 04:19 PM

Comment JavaScript implémente-t-il le glisser-zoomer des images tout en les limitant au conteneur ? Dans le développement Web, nous rencontrons souvent le besoin de faire glisser et de zoomer des images. Cet article expliquera comment utiliser JavaScript pour implémenter le glisser-déposer et le zoom des images et limiter les opérations dans le conteneur. 1. Faites glisser l'image Pour faire glisser l'image, nous pouvons utiliser les événements de la souris pour suivre la position de la souris et déplacer la position de l'image en conséquence. Voici un exemple de code : //Obtenir l'élément d'image varimage

Comment redimensionner et faire pivoter des images à l'aide de Python Comment redimensionner et faire pivoter des images à l'aide de Python Aug 17, 2023 pm 10:52 PM

Comment utiliser Python pour redimensionner et faire pivoter des images Introduction : Aujourd'hui, nous utilisons souvent des images pour enrichir notre conception Web, nos applications mobiles, nos réseaux sociaux et d'autres scénarios. Dans le traitement d’images, la mise à l’échelle et la rotation sont deux exigences courantes. Python, en tant que langage de script et puissant outil de traitement d'images, fournit de nombreuses bibliothèques et méthodes pour gérer ces tâches. Cet article explique comment utiliser Python pour redimensionner et faire pivoter des images, et fournit des exemples de code. 1. Zoom sur les images Le zoom sur les images est l'une des opérations de base pour ajuster la taille de l'image.

Comment utiliser JavaScript pour obtenir l'effet de commutation coulissante de haut en bas des images tout en ajoutant des animations de zoom et de fondu ? Comment utiliser JavaScript pour obtenir l'effet de commutation coulissante de haut en bas des images tout en ajoutant des animations de zoom et de fondu ? Oct 20, 2023 pm 05:15 PM

Comment JavaScript peut-il obtenir l'effet de commutation coulissante de haut en bas des images tout en ajoutant des animations de zoom et de fondu ? Dans la conception Web, les effets de changement d’image sont souvent utilisés pour améliorer l’expérience utilisateur. Parmi ces effets de commutation, les animations de glissement de haut en bas, de zoom et de fondu sont relativement courantes et attrayantes. Cet article explique comment utiliser JavaScript pour réaliser la combinaison de ces trois effets d'animation. Tout d’abord, nous devons utiliser HTML pour créer une structure de page Web de base contenant les éléments d’image à afficher. Ce qui suit est un exemple

See all articles