<rt id="idvtx"></rt>

  • <span id="idvtx"></span><label id="idvtx"></label>
  • <label id="idvtx"></label>

      <span id="idvtx"></span>
      \r\n\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t<\/table>\r\n\t<\/div>\r\n<\/body>\r\n

      国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

      Maison interface Web Tutoriel H5 spring mvc HTML5 réalise le glissement vers le haut du bas du terminal mobile pour charger de manière asynchrone plus de contenu et d'effet de pagination

      spring mvc HTML5 réalise le glissement vers le haut du bas du terminal mobile pour charger de manière asynchrone plus de contenu et d'effet de pagination

      Feb 09, 2017 pm 03:46 PM
      html5 Chargement asynchrone

      En raison de la portabilité des téléphones mobiles, de leur intelligence croissante et des vitesses plus rapides des réseaux mobiles, les téléphones mobiles sont devenus un élément omniprésent dans la vie des gens. Avec la popularité des téléphones mobiles,

      les applications mobiles sont également rapidement devenues populaires, telles que les micro-centres commerciaux, les pages Web mobiles, les applications mobiles, etc. étant donné que les applications mobiles sont si populaires, nous allons parler aujourd'hui de la fa?on de charger dynamiquement des données dans des pages Web mobiles. Alors, comment pouvons-nous l'implémenter ? Est-ce comme une page Web PC, avec une page précédente et une page suivante ?

      En fait, la page précédente et la page suivante comme les pages Web du PC ne sont certainement pas possibles. L'écran du téléphone mobile est très petit, difficile à cliquer et l'expérience utilisateur est très mauvaise. Aujourd'hui, je vais vous présenter comment. utiliser

      spring mvc HTML5 implémente l'effet de pagination consistant à glisser vers le bas du terminal mobile pour charger de manière asynchrone plus de contenu.

      Comment ?a marche

      Lorsque la page glisse vers le bas, puis que l'utilisateur glisse vers le haut, zepto écoute l'événement et exécute la méthode de chargement de plus de contenu. Dans cette méthode, le

      $.ajax de jQuery est utilisé pour lancer une requête asynchrone vers le serveur Web. Une fois que le serveur Web a re?u la requête asynchrone, il interroge et traite les données, puis renvoie le résultat. le c?té

      $.ajax re?oit les données renvoyées, analyse et traite les données et les ajoute aux données de la page précédente. C’est ainsi que tout fonctionne.

      Implémentation du code

      1). Code front-end :

      Le code front-end nécessite jquery et zepto. Vous pouvez le télécharger en ligne. page?:

      2). Code back-end
      <%@ page language="java" import="java.util.*"
      	contentType="text/html; charset=UTF-8"%>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
      <%@ page pageEncoding="UTF-8"%>
      <%
      	String path = request.getContextPath();
      %>
      <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
      <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      <title>滑動(dòng)到底部加載下一頁(yè)內(nèi)容</title>
      <script src="<c:url value="/js/JQuery/jquery-1.10.0.min.js"/>"></script>
      <script src="<c:url value="/js/scroll/zepto.min.js"/>"></script>
      <style>
      table {
      	width:100%;
      	padding:0 15px;
      	background:#fff;
      	border-collapse: collapse;
      }
      table td {
      	padding: 6px 0;
      	width:33%;
      	border-bottom:1px solid #e1e1e1;
      }
      tr td:nth-child(2) {
      	text-align: center;
      }
      tr td img {
      	width: 24px;
      	vertical-align: middle;
      }
      tr td:last-child {
      	text-align: right;
      }
      td>div:first-child {
      	/*margin-bottom: -6px;*/
      }
      td>div:last-child {
      	color: #9C9C9C;
      }
      </style>
      </head>
      <body >
      <input type="hidden" name="pageNo" id="pageNo" value="1" />
      <div class="white" >
      		<table id="wrapper">
      			
      		</table>
      	</div>
      </body>
      <script>
      $(function(){
      	query(&#39;01&#39;);//第一次加載
      });
      function query(type)
      {
      	alert(type);
      	$.ajax({
      		url : "<%=path%>/query",
      		data : {
      		    pageNo : $("#pageNo").val()
      		},
      		cache : false,
      		success : function(data) {
      			loading=true;
      			if(data==null)
      			{
      				
      				$("#pageNo").val(parseInt($("#pageNo").val())-1);	
      			}else
      				{		
      				var content="";
      				if(type=="00")
      				{
      					if(data.length==0)
      					{
      						 $("#pageNo").val(parseInt($("#pageNo").val())-1);	
      						 return "";
      					}
      					for(var i=0;i<data.length;i++)
      					{
      					   
      					  content=content
      					  		+	&#39;<tr>&#39;
      					  		+	&#39;<td><div>&#39;+data[i].id+&#39;</div><div>&#39;+data[i].time+&#39;</div></td>&#39;
      					 		+	&#39;<td>¥&#39;+data[i].amount+&#39;</td>&#39;
      					  		+	&#39;</tr>&#39;;
      					}
      			 		$("#wrapper").append(content);
      				}else{
      					
      					for(var i=0;i<data.length;i++)
      					{
      						
      						  content=content
      						  		+	&#39;<tr>&#39;
      						  		+	&#39;<td><div>&#39;+data[i].id+&#39;</div><div>&#39;+data[i].time+&#39;</div></td>&#39;
      						 		+	&#39;<td>¥&#39;+data[i].amount+&#39;</td>&#39;
      						  		+	&#39;</tr>&#39;;
      					}
      			 		$("#wrapper").html(content);
      				}
      			}
      		},
      		error : function(){
      			loading=true;
      			$("#pageNo").val(parseInt($("#pageNo").val())-1);	
      			_alert("查詢數(shù)據(jù)出錯(cuò)啦,請(qǐng)刷新再試");
      		}
      	});
      }
       var loading=false;
       Zepto(function($){
      	 $(window).scroll(function(){
      	 if(($(window).scrollTop()+$(window).height()>$(document).height()-10)&&loading){
      		    loading=false;
      		    $("#pageNo").val(parseInt($("#pageNo").val())+1);
      		 	query("00");
      	       }
      	    });
      	 })
      	 
      	 var ua = navigator.userAgent.toLowerCase();	
      	 if (/android/.test(ua)) {
      		$(&#39;.date>div>img:last&#39;).css({"margin-left":"-25px"});
      	 }
      </script>
      </html>

      Le code back-end est divisé en l'index de la méthode d'initialisation pour entrer dans la page et la requête de méthode de requête de données asynchrone La spécifique. le code est le suivant?:

      Code du contr?leur Web?:

      Code dto des données?:
      package com.test.web.controller;
      
      import java.util.ArrayList;
      import java.util.List;
      
      import org.springframework.stereotype.Controller;
      import org.springframework.ui.Model;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.ResponseBody;
      
      import com.test.web.dto.DataDto;
      /**
       * 測(cè)試控制器
       * 
       * @author smile2014
       * 
       */
      @Controller
      public class TestController {
      	/**
      	 * 
      	 * @return
      	 */
      	@RequestMapping("/")
      	public String index() {
      		return "test";
      	}
      
      	/**
      	 * 查詢訂單列表
      	 * 
      	 * @param model
      	 * @param openId
      	 *            用戶授權(quán)Id
      	 * @return
      	 * @throws Exception
      	 */
      	@RequestMapping(value = { "/query" })
      	@ResponseBody
      	public Object query(Model model, Integer pageNo) throws Exception {
      		System.out.println("pageNo="+pageNo);
      		if (pageNo == null) {
      			pageNo = 1;
      		}
      		List<DataDto> datas = new ArrayList<DataDto>();
      		for (int i = pageNo * 15; i < (pageNo + 1) * 15; i++) {
      			DataDto data = new DataDto("10000" + i, "10:" + i, "17." + i);
      			datas.add(data);
      		}
      		System.out.println("datas="+datas);
      		return datas;
      	}
      
      }

      Effet de page
      package com.test.web.dto;
      
      /**
       * 數(shù)據(jù)dto
       * 
       * @author smile2014
       * 
       */
      public class DataDto {
      	private String id;
      	private String time;
      	private String amount;
      
      	public String getId() {
      		return id;
      	}
      
      	public void setId(String id) {
      		this.id = id;
      	}
      
      	public String getTime() {
      		return time;
      	}
      
      	public void setTime(String time) {
      		this.time = time;
      	}
      
      	public DataDto(String id, String time, String amount) {
      		super();
      		this.id = id;
      		this.time = time;
      		this.amount = amount;
      	}
      
      	public String getAmount() {
      		return amount;
      	}
      
      	public void setAmount(String amount) {
      		this.amount = amount;
      	}
      }

      Contenu lors de votre première saisie la page :

      spring mvc HTML5 réalise le glissement vers le haut du bas du terminal mobile pour charger de manière asynchrone plus de contenu et deffet de pagination


      Faites d'abord glisser vers le bas et vers le haut pour charger le contenu?:

      spring mvc HTML5 réalise le glissement vers le haut du bas du terminal mobile pour charger de manière asynchrone plus de contenu et deffet de pagination


      Le la deuxième diapositive vers le bas glisse vers le haut pour charger le contenu?:


      spring mvc HTML5 réalise le glissement vers le haut du bas du terminal mobile pour charger de manière asynchrone plus de contenu et deffet de paginationCe qui précède est le contenu de spring mvc HTML5 pour réaliser le glissement vers le haut et le chargement asynchrone de plus de contenu en bas du terminal mobile Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.miracleart.cn )?!

      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

      Undress AI Tool

      Undress AI Tool

      Images de déshabillage gratuites

      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.

      Clothoff.io

      Clothoff.io

      Dissolvant de vêtements AI

      Video Face Swap

      Video Face Swap

      échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

      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)

      Sujets chauds

      Tutoriel PHP
      1502
      276
      Gestion des reconnexions et des erreurs avec des événements de serveur HTML5. Gestion des reconnexions et des erreurs avec des événements de serveur HTML5. Jul 03, 2025 am 02:28 AM

      Lorsque vous utilisez HTML5SSE, les méthodes pour gérer la reconnexion et les erreurs incluent: 1. Comprendre le mécanisme de reconnexion par défaut. Eventsource réessayer 3 secondes après l'interrompu de la connexion par défaut. Vous pouvez personnaliser l'intervalle via le champ de réessayer; 2. écoutez l'événement d'erreur pour gérer les erreurs de défaillance de connexion ou d'analyse, distinguer les types d'erreurs et exécuter la logique correspondante, telles que les problèmes de réseau en s'appuyant sur la reconnexion automatique, les erreurs de serveur retardent manuellement la reconnexion et la défaillance de l'échec d'authentification Rafra?chissement du jeton; 3. Contr?lez activement la logique de reconnexion, telle que la fermeture et la reconstruction manuelle de la connexion, en définissant le nombre maximum de temps de réessayer, combinant Navigator.online pour juger l'état du réseau pour optimiser la stratégie de réessayer. Ces mesures peuvent améliorer la stabilité des applications et l'expérience utilisateur.

      Intégrer efficacement CSS et JavaScript avec la structure HTML5. Intégrer efficacement CSS et JavaScript avec la structure HTML5. Jul 12, 2025 am 03:01 AM

      HTML5, CSS et JavaScript doivent être combinés efficacement avec des balises sémantiques, un ordre de chargement raisonnable et une conception de découplage. 1. Utilisez des étiquettes sémantiques HTML5, telles que l'amélioration de la clarté structurelle et de la maintenabilité, qui est propice au référencement et à l'accès sans barrière; 2. CSS doit être placé, utiliser des fichiers externes et se séparer par module pour éviter les styles en ligne et les problèmes de chargement retardés; 3. JavaScript est recommandé d'être introduit à l'avant et d'utiliser un repère ou une asynchronisation pour charger de manière asynchrone pour éviter le blocage du rendu; 4. Réduisez une forte dépendance entre les trois, conduisez le comportement à travers les attributs de données * et l'état de contr?le du nom de classe et améliorez l'efficacité de la collaboration grace à des spécifications de nommage unifiées. Ces méthodes peuvent optimiser efficacement les performances des pages et collaborer avec les équipes.

      Déclarant le doctype HTML5 correct pour les pages modernes. Déclarant le doctype HTML5 correct pour les pages modernes. Jul 03, 2025 am 02:35 AM

      Doctype est une déclaration qui indique au navigateur quelle norme HTML à utiliser pour analyser la page. Les pages Web modernes ne doivent être écrites qu'au début du fichier HTML. Sa fonction est de s'assurer que le navigateur rend la page en mode standard plut?t qu'en mode bizarre, et doit être situé sur la première ligne, sans espaces ni commentaires devant lui; Il n'y a qu'une seule fa?on correcte de l'écrire, et il n'est pas recommandé d'utiliser d'anciennes versions ou d'autres variantes; D'autres tels que le marbre, la fenêtre, etc. doivent être placés en partie.

      Recevoir des données en temps réel avec des événements (SSE) HTML5 Server-Sent (SSE). Recevoir des données en temps réel avec des événements (SSE) HTML5 Server-Sent (SSE). Jul 02, 2025 pm 04:46 PM

      Server-Sentevents (SSE) est une solution légère fournie par HTML5 pour pousser les mises à jour en temps réel du navigateur. Il réalise la communication à sens unique grace à de longues connexions HTTP, qui conviennent au marché boursier, aux notifications et à d'autres scénarios. Créer une instance Eventsource et écouter les messages lorsque vous utilisez: Consventsource = neweventsource ('/ stream'); eventsource.onMessage = function (event) {console.log ('Message re?u:', event.data);}; Le serveur doit définir le type de contenu sur le texte / l'événement

      Amélioration du référencement avec un balisage sémantique HTML5 et des microdulations. Amélioration du référencement avec un balisage sémantique HTML5 et des microdulations. Jul 03, 2025 am 01:16 AM

      L'utilisation de balises sémantiques HTML5 et de microdata peut améliorer le référencement car elle aide les moteurs de recherche à mieux comprendre la structure des pages et la signification du contenu. 1. Utilisez des balises sémantiques HTML5 telles que ,,,, et pour clarifier la fonction des blocs de page, ce qui aide les moteurs de recherche à établir un modèle de page plus précis; 2. Ajoutez des données structurées microdata pour marquer un contenu spécifique, tel que l'auteur de l'article, la date de sortie, le prix du produit, etc., afin que les moteurs de recherche puissent identifier les types d'informations et les utiliser pour l'affichage du résumé des médias riches; 3. Faites attention à l'utilisation correcte des étiquettes pour éviter la confusion, évitez les balises en double, testez l'efficacité des données structurées, mettez régulièrement à mettre à jour pour s'adapter aux changements de schéma.org et combiner avec d'autres moyens de référencement pour optimiser à long terme.

      Expliquant les éléments HTML5 `` vs ``. Expliquant les éléments HTML5 `` vs ``. Jul 12, 2025 am 03:09 AM

      Il s'agit d'un élément au niveau du bloc, adapté à la mise en page; Il s'agit d'un élément en ligne, adapté à l'emballage du contenu texte. 1. Occuper exclusivement une ligne, une largeur, une hauteur et des marges peuvent être définies, qui sont souvent utilisées dans la disposition structurelle; 2. Aucune ligne ne se casse, la taille est déterminée par le contenu et convient aux styles de texte locaux ou aux opérations dynamiques; 3. Lors du choix, il doit être jugé en fonction de la question de savoir si le contenu a besoin d'espace indépendant; 4. Il ne peut pas être imbriqué et ne convient pas à la mise en page; 5. La priorité est donnée à l'utilisation des étiquettes sémantiques pour améliorer la clarté structurelle et l'accessibilité.

      Obtenir l'emplacement actuel de l'utilisateur avec l'API de géolocalisation HTML5. Obtenir l'emplacement actuel de l'utilisateur avec l'API de géolocalisation HTML5. Jul 02, 2025 pm 05:03 PM

      Lorsque vous utilisez l'API HTML5Geolocation pour obtenir l'emplacement de l'utilisateur, vous devez d'abord obtenir l'autorisation de l'utilisateur et demander et expliquer l'objectif au bon moment; La méthode de base est Navigator.Geolocation.getCurrentPosition (), qui contient des rappels réussis, de mauvais rappels et des paramètres de configuration; Les raisons courantes de défaillance comprennent l'autorisation refusée, le navigateur non pris en charge, les problèmes de réseau, etc., des solutions alternatives et des invites claires doivent être fournies. Les suggestions spécifiques sont les suivantes: 1. Demande les autorisations lorsque l'opération utilisateur est déclenchée, comme cliquer sur le bouton; 2. Utiliser Activer Highgacuratie, Timeout, Maximum et d'autres paramètres pour optimiser l'effet de positionnement; 3. La gestion des erreurs doit distinguer les différentes erreurs

      Comprendre les extensions de source de médias HTML5 (MSE) Comprendre les extensions de source de médias HTML5 (MSE) Jul 08, 2025 am 02:31 AM

      MSE (MediaSourceExtensions) fait partie de la norme W3C, permettant à JavaScript de construire dynamiquement des flux de médias, permettant ainsi des capacités de lecture vidéo avancées. Il gère les sources multimédias via MediaSource, stocke les données de SourceBuffer et représente la plage de temps tampon par Timeranges, permettant au navigateur de charger et de décoder dynamiquement des clips vidéo. Le processus d'utilisation de MSE comprend: ① Créer une instance MediaSource; ② Le lier à un élément; ③ Ajouter SourceBuffer pour recevoir des données dans un format spécifique; ④ Obtenez des données segmentées via fetch () et ajoutez-les au tampon. Les précautions courantes comprennent: ① Problèmes de compatibilité du format; ② Paire de coups horaires

      See all articles