Ich habe ein Menü in der Kopfzeile mit der folgenden StrukturFunktion ausführen onload nur erstmals
$(document).ready(function(){
\t $('.dropdown').on('show.bs.dropdown', function(e){
\t \t $(this).find('.dropdown-menu').first().stop(true, true).slideDown();
\t });
$('.dropdown').on('hide.bs.dropdown', function(e){
\t $(this).find('.dropdown-menu').first().stop(true, true).slideUp();
\t });
\t $('#entrar').click(function(e){
\t $('#head').slideToggle();
\t $(".boton").css("display","none");
\t $("#secciones").slideToggle();
$("#foot").slideToggle();
\t });
$('#entrar').click(function() {
$('html, body').animate({
scrollTop: $(".principal").offset().top + 70
}, 700);
});
});
$(document).ready(init);
\t function init(){
var sec = document.getElementById("secciones");
var he = document.getElementById("head");
var fo = document.getElementById("foot");
he.style.display = "none";
sec.style.display = "none";
fo.style.display = "none";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div class="main_wrapper">
<header id="head">
\t \t <div class="container">
\t \t \t <section class="row">
\t \t \t \t <article class="col-xs-3">
\t \t \t \t \t <h1 id="main_logo">
\t \t \t \t \t \t <a href="index.php"><img src="images/logo.png" alt=""></a>
\t \t \t \t \t </h1>
\t \t \t \t </article>
\t \t \t \t <article class="col-xs-9">
\t \t \t \t \t <ul class="nav nav-pills" id="menu">
\t \t \t \t \t \t <li class="active"><a href="index.php">INICIO</a></li>
\t \t \t \t \t \t <li class="dropdown">
\t \t \t \t \t \t \t <a class="dropdown-toggle" data-toggle="dropdown" href="#">MODELOS<span class="caret"></span></a>
\t \t \t \t \t \t \t <ul class="dropdown-menu">
\t \t \t \t \t \t \t \t <li><a class="sec_index" href="index.php#galeria">Modelos en Panamá</a></li>
\t \t \t \t \t \t \t </ul>
\t \t \t \t \t \t </li>
\t \t \t \t \t \t <li class="dropdown">
\t \t \t \t \t \t \t <a class="dropdown-toggle" data-toggle="dropdown" href="#">BLOG<span class="caret"></span></a>
\t \t \t \t \t \t \t <ul class="dropdown-menu">
\t \t \t \t \t \t \t \t <li><a class="sec_index" href="index.php#blog">Últimas Entradas</a></li>
\t \t \t \t \t \t \t \t <li><a href="blog.php">Blog Chicas507</a></li>
\t \t \t \t \t \t \t \t <li><a href="glosario.php">Glosario de Términos</a></li>
\t \t \t \t \t \t \t </ul>
\t \t \t \t \t \t </li>
\t \t \t \t \t \t <li class="dropdown">
\t \t \t \t \t \t \t <a class="dropdown-toggle" data-toggle="dropdown" href="#">ANÚNCIATE<span class="caret"></span></a>
\t \t \t \t \t \t \t <ul class="dropdown-menu">
\t \t \t \t \t \t \t \t <li><a class="sec_index" href="index.php#paquetes">Paquetes</a></li>
\t \t \t \t \t \t \t \t <li><a href="registro.php">Regístrate</a></li>
\t \t \t \t \t \t \t \t <li><a href="recuperar.php">Recuperar Cuenta</a></li>
\t \t \t \t \t \t \t </ul>
\t \t \t \t \t \t </li>
\t \t \t \t \t \t <li><a class="sec_index" href="index.php#contacto">CONTACTO</a></li>
\t \t \t \t \t \t <li><a href="about.php">INFORMACIÓN</a></li>
\t \t \t \t \t \t <li><a href="login.php">INGRESA</a></li>
\t \t \t \t \t </ul>
\t \t \t \t </article>
\t \t \t </section>
\t \t </div>
\t </header>
<section class="principal" id="principal">
\t \t \t <div class="boton" id="entrar"><a href="#">ENTRAR</a></div>
\t \t \t <div class="boton" id="salir"><a href="#">SALIR</a></div>
\t \t </section>
\t <section class="secciones" id="secciones">
some sections
</section>
<footer id="foot">
</footer>
</div>
</body>
Und ich habe verschiedene Abschnitte in der Webseite, werden einige der Links aus dem Menü Ich zu dem Abschnitt im Index, zum Beispiel Index # Modelle. Alles funktioniert gut, aber hier ist das Ding. Ich habe etwas JavaScript-Code, der die Abschnitte und den Header init versteckt. Ich benutze onload
im Körper, um die Funktion aufzurufen und eine Schaltfläche "entrar" anzuzeigen. Das funktioniert, aber die Funktion wird jedes Mal aufgerufen, wenn ich die Seite neu lade und ich möchte das erste Mal ausführen und wenn die Seite aktualisiert wird. Alles wird angezeigt, ohne auf den Button zu klicken. Außerdem möchte ich nicht laden, wenn ich zu einem anderen Teil der Seite wechsele. Zum Beispiel, wenn ich den Blog betrete und dann klicke, um nach Hause zu gehen, lädt die Funktion und ich muss wieder auf "entrar" klicken. Ich will das nicht.
Ich habe versucht, das zu beheben, aber ich kann die Lösung nicht finden. Ich schätze Ihre Hilfe. Bitte!
Ich denke, was Sie suchen ein Protokoll in Funktion. –
Warum verwenden Sie Javascript, um etwas zu tun, was CSS für Sie tun kann? Zugegeben, es muss etwas serverseitig sein, um zu überprüfen, ob das Menü angezeigt wird oder nicht, aber ja ... das Verwenden von JavaScript zum Anzeigen/Verbergen von Menüelementen ist ein schlechtes Design und sollte vermieden werden. – junkfoodjunkie
ist es nicht, wenn ich nur mit CSS, dann jedes Mal, wenn die Seite geladen wird, wird die CSS anwenden, die Idee, mit Javascript zu tun, wenn zu steuern, wann es zu tun ist. –