2013-04-18 3 views
-7

Aujourd'hui, je trouve ce site: http://skainteractive.com/agencia/Les transitions entre les pages avec rafraîchissement

Quand je change d'une page à une autre, il est un simple changement d'URL, rafraîchir la page. Mais la chose est, ils parviennent à créer un bon effet sur la page que nous regardions avant d'aller à la nouvelle page. J'ai regardé leur code source, mais je n'ai pas pu savoir comment ils l'ont fait. Je sais qu'il y a des façons de le faire, mais j'aimerais savoir comment ils l'ont fait. Parce que ça a l'air très bien.

Voici un autre exemple d'une bonne utilisation de cet effet: http://www.casadacalcada.com/

Comment peuvent-ils faire cela?

+0

Découvrez jQuery Mobile pour des exemples de transitions de pages - jQuery Mobile utilise généralement AJAX mais c'est un point de départ –

+1

Pourquoi est-ce si bas? – aquinas

+3

@aquinas Parce qu'il ne montre aucun effort réel. – cimmanon

Répondre

7

Ils ne font pas la transition entre les pages. En fait, vous êtes dans la même page que vous avez atterri.

Ce qu'ils font est:

  • Chargement HTML via des requêtes AJAX. Pour le premier site, le code HTML est incorporé dans la réponse JSON, avec d'autres données. Une fois la réponse reçue, ils extraient le code HTML de la réponse et le placent sur la page en cours.

  • Ils utilisent le History API pour apparaître comme s'ils déplacent le navigateur entre les pages en changeant l'URL de la page et en modifiant l'historique du navigateur pour faire fonctionner les boutons Précédent et Suivant.

+3

Qu'est-ce qui est horrible à propos de l'utilisation de JSON (AJAX?) Pour charger des pages? – iamnotmaynard

+1

@iamnotmaynard Il aurait été préférable de charger des modèles HTML vierges via AJAX et JSON pour les données, plutôt que d'utiliser JSON pour charger du HTML échappé. * Suboptimal * pourrait être le bon mot. – Joseph

+0

@iamnotmaynard Vérifiez l'onglet réseau de vos outils de développement et voyez ce qui se passe lors de la transition à travers des sections du site. – Joseph

0

vous pouvez utiliser jquery pour cela, pour montrer une nouvelle div:

$(document).ready( function() { $("#more").click(function() { $("#show").fadeIn("slow"); }); });

où #more est le div (cliquez) où il fait la div #show visible par un fondu Assurez-vous de définir: #show{ display:none; }

Questions connexes