Après avoir parcouru toutes les docs jQuery, les questions SO et les blogs aléatoires, j'ai été incapable de trouver une réponse à mon problème.Onglets jQuery. . . J'ai besoin de tout faire !!! (MouseOver, naviguez depuis l'onglet cliquez sur et gardez les onglets sélectionnés en fonction de la page)
Actuellement, je transfère un site Coldfusion vers un site .Net. Dans ma masterpage pour le site, j'ai tous mes éléments de navigation car c'est juste la partie administrative du site.
Le code html de navigation:
<div id="tabs" class="basictab">
<ul>
<li><a href="#fragment-1"><span>Insurance Plans</span></a></li>
<li><a href="#fragment-2"><span>Mini-Sites</span></a></li>
<li><a href="#fragment-3"><span>Independent Sites</span></a></li>
<li><a href="#fragment-4"><span>Tools</span></a></li>
</ul>
<div id="fragment-1" class="tabcontainer">
<nav:insurance runat="server" ID="ins1" Visible="true" />
</div>
<div id="fragment-2" class="tabcontainer">
<nav:mini runat="server" ID="mini1" Visible="true" />
</div>
<div id="fragment-3" class="tabcontainer">
<div>
<div id="fragment-4" class="tabcontainer">
<nav:tools runat="server" ID="tools2" Visible="true" />
</div>
</div>
Dans mon tête DE MON MASTER PAGE:
<script type="text/javascript" >
$(document).ready(function(){
$("#tabs").tabs({event: 'mouseover'});
});
</script>
Le site que vous pouvez dire a 4 (bien 3 vraiment) sections principales: Assurance Plans, mini-sites, sites indépendants et outils. Sous chacune de ces sections, il y a plusieurs pages (toutes utilisant la même page maître).
La fonction de survol de la souris fonctionne très bien, les divs se cachent et s'affichent comme prévu. Les problèmes que j'ai, c'est que div id="fragment-1"
est sélectionné sur chaque page pour chaque section. (Par exemple, dans la section Outils, div id="fragment-4"
, j'ai besoin d'être sélectionné.J'ai essayé d'ajouter $('#tabs').tabs('option', 'selected', 3);
à la fois dans la tête de la page .aspx et dans la page maître pour les tests et j'obtiens une erreur. jetant $('#tabs').tabs('option', 'selected', 3);
dans le $ (document) fonction .ready, et il jette encore une erreur, à la fois dans la page .aspx et le masterpage
Solution au problème ci-dessus. Placer
<script type="text/javascript" >
$(document).ready(function(){
var $tabs = $("#tabs").tabs({event: 'mouseover'});
$tabs.tabs("select", 3);
});
</script>
à la fin d'une page dans la section "3" permet la sélection par défaut de l'onglet approprié
Lors du retrait:
<script type="text/javascript" >
$(document).ready(function(){
var $tabs = $("#tabs").tabs({event: 'mouseover'});
});
</script>
de l'en-tête de la page principale.
Pour couronner le tout, j'ai besoin de cliqueter les onglets pour naviguer (pas une charge d'ajax, mais j'ai besoin pour l'utilisateur, en cliquant sur l'onglet pour être pris à une page différente. .? analogue à document.location()
quelqu'un peut-il s'il vous plaît aider à la deuxième partie, je suis un n00b jQuery
si cela ne vous dérange pas. . . comment puis-je changer la classe css pour un onglet spécifique? je peux utiliser $ tabs.tabs ("select", 3); pour sélectionner un onglet spécifique, montrant ainsi le bon menu de nav, mais je voudrais alors changer le CSS. – andrewWinn
Vous voulez changer le style de l'onglet sélectionné? En supposant que vous utilisez JQuery UI, l'onglet sélectionné obtient la classe 'ui-tabs-selected' que vous pouvez utiliser. – Januz