Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [DHTML] Wyswietlanie warstw
escobar1983
post 21.01.2009, 22:29:20
Post #1





Grupa: Zarejestrowani
Postów: 198
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


Witam mam taki kod. Jeden z drogich forumowiczow pomogl mi jednak po glebszym przyjrzeniu sie sprawy. problem nie dokonca zostal rozwiazany. Poniewaz jak wyswietlam na nowo strone ladowane sa wszystkie divy i zostaja wyswietlone. Dodam ze buduje mala strone o sobie i ten kod wykorzystuje do menu. Mowiac szerzej to chodzi mi o takie cv-online o mnie. Sytuacja z wyswietlaniem wszystkich divow dzieje sie rowniez gdy odswiezam strone. Z gory dziekuje za pomoc
Kod :
Kod

<script>  
function showInfo(id){
         var divy = document.getElementsByTagName('div');
        
         for (var i=0; i<divy.length; i++) {
                 if (divy[i].id.substring(0, 4) == 'info') {
                         if (divy[i].id == id) {
                              
                         } else {
                                 divy[i].style.display = 'none';
                         }
                 }
         }
}</script>  
<div id="nav">
                         <ul>      
                               <li><a  name="a" onclick="showInfo('info1')" >Start</a></li>
                            <li><a name="a" onclick="showInfo('info2')" >O mnie</a></li>
                            <li><a name="a" onclick="showInfo('info3')">Portfolio</a></li>
                            <li><a href="#">Kontakt</a></li>
                       </ul>
</div>  
<div id="info1" style="display:block;"> Jeden</div>
<div id="info2" > dwa</div>
<div id="info2" > trzy</div>


Ten post edytował escobar1983 21.01.2009, 22:39:03
Powód edycji: AJAX, to nie DHTML ;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
EarthCitizen
post 21.01.2009, 22:35:00
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


A masz dla tych divów jakiś styl domyślny, który je ukrywa? (np. display: none)
Go to the top of the page
+Quote Post
escobar1983
post 21.01.2009, 22:38:24
Post #3





Grupa: Zarejestrowani
Postów: 198
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


Sorry za tego ajax . Ok rozumiem ze to dhtml. teraz juz wiem. Nie nie mam do nich ustawione display:none. Jakies podpowiedzi?
Go to the top of the page
+Quote Post
EarthCitizen
post 21.01.2009, 22:39:46
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


No dobra, to jak te warstwy na starcie mają być ukryte?
Go to the top of the page
+Quote Post
escobar1983
post 21.01.2009, 22:43:43
Post #5





Grupa: Zarejestrowani
Postów: 198
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


Ma byc pokazana tylko START na poczatku. A pozniej w zaleznosci co wybiore. Jak rowniez po odswiezeniu strony ma byc tak na ktorej akurat sie znajduje.
Go to the top of the page
+Quote Post
EarthCitizen
post 21.01.2009, 23:05:48
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


No to jak chcesz po odświeżeniu mieć to samo, to musisz użyć ciastek smile.gif Zaraz Ci napiszę jak to ma być w tym poście...
Go to the top of the page
+Quote Post
escobar1983
post 22.01.2009, 11:52:04
Post #7





Grupa: Zarejestrowani
Postów: 198
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


super ale plus do tego to zeby te inne warstwy byly ukryte.Dziekuje ogromnie

Tak wiec jak to jest z tym moim problemem? Ktos pomoze?
Go to the top of the page
+Quote Post
erix
post 22.01.2009, 18:37:10
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. Zrób sobie funkcję, która będzie wykonywana zaraz po wczytaniu dokumentu, a najlepiej po wczytaniu drzewa DOM (do znalezienia w google)
    1. chowasz wszystkie warstwy
    2. sprawdzasz, czy istnieje ciastko - jeśli tak - rozwiń warstwę, którą sobie zapisałeś; jeśli nie - pokazuj tylko pierwszą
  2. za każdym rozwinięciem warstwy zapisuj sobie jej nazwę w ciastku


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
EarthCitizen
post 25.01.2009, 04:22:09
Post #9





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


Tak sobie myślałem nad tymi ciachami i może zrób to inaczej...

Poniższy sposób oparty jest na adresach lokalnych i przez to jest bardziej uniwersalny, odporny na wyłączone ciastka i co bardzo ważne - każda zakładka ma swój adres, dzięki temu możesz dodać zakładkę do ulubionych, przesłać linka znajomemu na GG/Tlen/itd...

Kod
<script type="text/javascript">

function getHash() {
        return top.location.hash.replace('#', '');
}

var current_bookmark = 'm-start';

function showInfo(show) {
        if (!show) {
                setTimeout("showInfo(1)", 1);
                return;
        }

        var show_bookmark = getHash();
        
        if (show_bookmark.substr(0,2) != 'm-' || current_bookmark == show_bookmark) {
                return false;
        }

        document.getElementById(current_bookmark).style.display = 'none';
        document.getElementById(show_bookmark).style.display    = 'block';

        current_bookmark = show_bookmark;
}

window.onload = function() {
        showInfo(1);
}
</script>

<div id="nav">
        <ul>      
                <li><a href="#m-start" onclick='showInfo()'>Start</a></li>
                <li><a href="#m-o-mnie" onclick='showInfo()'>O mnie</a></li>
                <li><a href="#m-portfolio" onclick='showInfo()'>Portfolio</a></li>
                <li><a href="#m-kontakt" onclick='showInfo()'>Kontakt</a></li>
        </ul>
</div>


<div id="m-start" style="display:block;">
        Start
</div>
<div id="m-o-mnie" style="display:none;">
        O mnie
</div>
<div id="m-portfolio" style="display:none;">
        Portfolio
</div>
<div id="m-kontakt" style="display:none;">
        Kontakt
</div>


Prefiks "m-" dałem, żeby skrypt nie próbował przełączyć każdego adresu lokalnego, bo nie tylko do menu go pewnie użyjesz...

Ten post edytował EarthCitizen 25.01.2009, 05:19:12
Go to the top of the page
+Quote Post
escobar1983
post 26.01.2009, 19:50:27
Post #10





Grupa: Zarejestrowani
Postów: 198
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


jestes wielki stary smile.gif Tylko ze cos to mi nie chce latac pod IE
Go to the top of the page
+Quote Post
EarthCitizen
post 26.01.2009, 19:53:03
Post #11





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


U mnie pod IE6 działa...
Go to the top of the page
+Quote Post
escobar1983
post 27.01.2009, 10:55:52
Post #12





Grupa: Zarejestrowani
Postów: 198
Pomógł: 0
Dołączył: 31.01.2008

Ostrzeżenie: (0%)
-----


masz racje sorry pomylka:) dziekuje bardzo za pomoc! widze ci piwo!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:36