Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Zapamiętanie wyboru w pamięci?
Forum PHP.pl > Forum > Przedszkole
szymek001
Witam, mam skrypt do pokazywania/ukrywania treści z danego diva:

  1. function toggleContent() {
  2. // Get the DOM reference
  3. var contentId = document.getElementById("content");
  4. // Toggle
  5. contentId.style.display == "block" ? contentId.style.display = "none" :
  6. contentId.style.display = "block";
  7. }
  8.  
  9.  
  10. <div ID="content" style="display:block;">Treść.</div>
  11.  
  12. <button onclick="toggleContent()">Ukryj/Pokaż</button>


http://jsfiddle.net/2Na4F/9/


W jaki sposób zapamiętać to czy treść jest ukryta, czy nie? Chcę zrobić to tak, by użytkownik który ukryje to raz, zawsze miał ją schowaną, nawet jak przejdzie na inną podstronę. Konieczne będzie ajaxowe zapisanie do MySQL, czy możnaby to jakoś w sesji zapamiętać?
d3ut3r
Możesz użyć ciasteczek. wpisz w google jquery cookies znajdziesz odpowiednie artykuły o tym. Oczywiście user musi mieć włączoną obsługę ciastek.
szymek001
Dzięki za sugestię, z jQuery jednak nie korzystam na tej stronie w ogóle, to wolałbym jakieś rozwiązanie bez potrzeby ładowania tej biblioteki.
Jakby jednak komuś to nie przeszkadzało, to tutaj fajny przykład: http://stackoverflow.com/questions/7291492...gle-and-cookies

Bez jQuery to ciężko cokolwiek znaleźć.. Czy do takiego skryptu ciężko byłoby dorobić zapis/odczyt ciasteczek w samym js:
  1. <script language="javascript">
  2. function toggle() {
  3. var ele = document.getElementById("toggleText");
  4. var text = document.getElementById("displayText");
  5. if(ele.style.display == "block") {
  6. ele.style.display = "none";
  7. text.innerHTML = "pokaż";
  8. }
  9. else {
  10. ele.style.display = "block";
  11. text.innerHTML = "ukryj";
  12. }
  13. }
  14.  
  15. <a id="displayText" href="java script:toggle();">pokaż</a>
  16. <div id="toggleText" style="display: none"><h1>ukryta treść</h1></div>

?

wNogachSpisz
w Jquery idzie bardzo prosto:

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. $('#element').is(':hidden')
  3.  
[JAVASCRIPT] pobierz, plaintext


Nie ma potrzeby zapisywania tej informacji gdziekolwiek, skoro można każdorazowo sprawdzić stan elementu
d3ut3r
Nie zauważyłem dopisku bez jQuery smile.gif tutaj masz sposób na ciastka w czystym js

http://www.w3schools.com/js/js_cookies.asp
kamil4u
2 krótkie funkcje i korzystasz z ciasteczek w prosty sposób: http://blog.kukawski.pl/2007/02/26/js-a-cookies/

Warto też wiedzieć o tym: http://blog.kukawski.pl/2009/05/09/przecho...tronie-klienta/
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.