Créer de la chapelure de manière dynamique côté client à l'aide de javascript
Je veux créer de la chapelure de manière dynamique côté client à l'aide de java script. Le fil d'ariane sera le chemin suivi par l'utilisateur tandis que la navigation:
Accueil > a propos de nous > notre histoire..
L'ancre balises seront générés sur chaque page dans l'ordre dans lequel l'utilisateur de naviguer.
Maintenant, je peux créer ces chapelure à l'aide de server côté de la technologie, facile, mais je veux générer dynamiquement sur chaque page côté client.
Maintenant, je ne sais pas exactement comment la mettre en œuvre.
Un peu de logique dans mon esprit, c'est que:
- Créer un objet de type variable en java script avec un nom
et valeur paire où nom est le le nom de l'actuel page
et valeur est le url de la page. - Maintenant passer à cet objet
variable à l'aide de chaîne de requête lors de la navigation d'une page à l'
d'autres. - Puis dans la deuxième page obtenir cet objet variable de chaîne de requête
et extraire le nom et la valeur de la paire à partir de cet objet, puis à l'aide de
que créer l'ancre et l'ajouter à ciblées div (place de titulaire). - De nouveau lorsque l'utilisateur passe à une autre page ajouter le nom et la valeur des paires
pour tous les pages précédentes avec le le nom et la valeur de la paire de de la page actuelle à la dernière dans la variable objet et passer à la page suivante
à l'aide de chaîne de requête. - Maintenant dans la page suivante faire de même et de créer des ancres.
Qu'un peu similaire, je suis ici à l'aide de html5 côté client de stockage:
html:
<ul id="navigation_links">
<li>Page1</li>
<li>Page2</li>
<li>Page3</li>
</ul>
js:
$(document).ready(function(){
bindEventToNavigation();
});
function bindEventToNavigation(){
$.each($("#navigation_links > li"), function(index, element){
$(element).click(function(event){
breadcrumbStateSaver($(event.currentTarget).html());
showBreadCrumb();
});
});
}
function breadcrumbStateSaver(text){
//here we'll check if the browser has storage capabilities
if(typeof(Storage) != "undefined"){
if(sessionStorage.breadcrumb){
//this is how you retrieve the breadcrumb from the storage
var breadcrumb = sessionStorage.breadcrumb;
sessionStorage.breadcrumb = breadcrumb + " >> "+text;
} else {
sessionStorage.breadcrumb = ""+text;
}
}
//if not you can build in a failover with cookies
}
function showBreadCrumb(){
$("#breadcrumb").html(sessionStorage.breadcrumb);
}
<div id="breadcrumb"></div>
mais ici, au lieu de créer des hyperliens des ancres c'est la création d'un simple texte, alors que je veux la chapelure pour être ancres et un lien vers leurs pages respectives.
Je suis nouveau sur le java script et je ne sais pas comment le mettre en œuvre.
Si vous avez mieux à la logique et à la solution pour cela merci de me le dire.
merci d'avance.
OriginalL'auteur Saurabh Palatkar | 2013-09-25
Vous devez vous connecter pour publier un commentaire.
Lorsque vous ajoutez les articles au fil d'ariane vous n'êtes pas en ajoutant des liens, vous êtes simplement en ajoutant du texte et des événements de clic vous aviez lié à la li éléments ne sont pas transmis. Enfin, vous ne donnez pas n'importe quelle sorte de href de ceux de la chapelure à utiliser.
Essayer quelque chose comme cela et le mettre sur 4 pages avec les liens et le fichier de script sur chaque page
JS
C'est uniquement pour mettre des liens sur les pages après la première. Donc, vous pouvez également utiliser
en haut de chaque page et les ajouter automatiquement à la barre de navigation au lieu de le faire sur le clic. Si vous avez besoin de la clique pour exécuter une autre fonction/l'événement, vous pouvez utiliser span/li/balises div avec un id que vous pouvez lier un événement au lieu de simplement en utilisant des ancres.
Enfin, cela ne va pas s'arrêter d'être des doublons dans la mie, de sorte que vous pouvez envisager de stocker les liens & texte dans un tableau et de construire les miettes.
OriginalL'auteur Luke