2009-11-28 7 views
0

Je suis actuellement la construction d'un site web dans Codeigniter qui est un site d'une page, fondamentalement un utilisateur vient à la page, ils ont créé avec un menu principal de ce menu, ils choisissent les sections des sites qu'ils aimeraient pour voir, et clique sur les liens associés ... en cliquant sur ces liens devrait afficher le contenu dans leur propre menu accordéon.CodeIgniter, jQuery et AJAX

Ma question est la suivante: je suppose que le moyen le plus simple de le faire serait de charger les vues sélectionnées en utilisant jquery et ajax? Si je suis dans le mauvais sens, quelle serait la meilleure solution, je ne trouve rien sur le chargement des vues en utilisant ajax, est-ce que quelqu'un a un conseil?

Répondre

6

Oui, vous pouvez facilement charger le contenu avec AJAX et jQuery, en se liant clics des événements sur vos menus et des liens, comme ceci:

$("a.menuitem").click(function() { 
    var link = $(this), url = link.attr("href"); 
    $("#content_pane").load(url); 
    return false; // prevent default link-behavior 
}); 

Cependant, en descendant cette route, vous renoncez certaines fonctionnalités clé le navigateur. Le bouton Retour ne fonctionnera pas. Vos utilisateurs ne peuvent pas mettre en signet aucune des sous-pages. Il existe des solutions de contournement (comme ceci jquery history plugin), mais il faudra beaucoup de travail pour remplacer les fonctionnalités qui viennent nativement avec chaque navigateur des utilisateurs.

+0

Merci pour cela, j'ai essayé de mettre en œuvre cela, mais il me suffit de naviguer vers une nouvelle page plutôt que d'ajouter le contenu de l'écran en cours des idées? – Udders

+0

Si vous l'appliquez comme cela est écrit, vous devez également vous assurer que les liens ont la classe "menuitem", et que votre écran actuel a un élément avec l'ID "content_pane". C'est plus un exemple qu'un code de codes prêt pour la production. – Magnar

+0

True. Mais si nous laissons les limitations de navigation nous retenir * toux * IE * toux * nous serions encore en utilisant CSS1, mises en page de table et Iframes :) – Atli