Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] [jQuery] Show Hide - składnia
Forum PHP.pl > Forum > Przedszkole
martinii007
Czy jest możliwe zrobienie prostszej składni w przypadku tego kodu?
Konkretnie to chodzi o elementy show/hide. Czy zawsze pojedynczo trzeba odznaczyć, które mają się schować?
Czy da radę żeby wszystkie pozostałe z automatu się zwinęły?


Kod
        <li>
            <span><i class="icon-globe"></i> <a href="#demo1">demo1</a></span>
        </li>

        <li>
            <span><i class="icon-globe"></i> <a href="#demo2">demo2</a></span>
        </li>

<div class="text">

<div id="demo1">
show demo1
</div>

<div id="demo2">
show demo2
</div>

</div>

$(document).ready(function () {

$("#demo1").hide();
$("#demo2").hide();

$('a[href*="#demo1"]').bind('click', function() {
        $("#demo1").show('linear');
        $("#demo2").hide("fast");
});

$('a[href*="#demo2"]').bind('click', function() {
    $("#demo2").show('linear');
     $("#demo1").hide("fast");
});

    });



Działający przykład: https://jsfiddle.net/x3e5yp0p/20/
trueblue
https://jsfiddle.net/0r7deL0b/1/
martinii007
Dzięki za kod, podrasowałem go sobie, żeby scrollował do danego contentu i jest OK.
Został mi tylko do rozwiązania ostatni problem, mianowicie wpisując url np. www.xxxxx.pl#demo2 czy jest możliwość ażeby wyświetlił się od razu box z tą treścią?
Lukeup
Wybierz informację po hashu:
  1. var hash = window.location.hash.substr(1);


A potem po:

  1. $('.accordion').hide();

które ukrywa Ci elementy o klasie "accordion", dodaj:
  1. $( "#"+hash ).show();

które pokaże Ci element o wybranym id

Nie wiem, czy dobrze zrozumiałem.

martinii007
Bardzo dobrze, właśnie o to chodziło smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.