Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> automatyczne dodawanie klasy do linku w zależności od dnia?
marcus755
post 16.07.2014, 15:00:24
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 1
Dołączył: 6.12.2012

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


Hej,
mam siedem linków, każdy to jeden dzień tygodnia

  1. <ul>
  2. <li><a href="#">poniedziałek</a></li>
  3. <li><a href="#">wtorek</a></li>
  4. <li><a href="#">środa</a></li>
  5. <li><a href="#">czwartek</a></li>
  6. <li><a href="#">piątek</a></li>
  7. <li><a href="#">sobota</a></li>
  8. <li><a href="#">niedziela</a></li>
  9. </ul>


jak zrobić w jquery, żeby w zależności od dnia tygodnia (tzn. od daty) spawdzał datę
i "automatycznie" dodawał do <li> w bieżącym dniu class="select",
ale tylko do dnia, który jest obecnie - inne dni wtedy nie mają tej klasy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Damonsson
post 16.07.2014, 15:09:33
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


http://www.w3schools.com/jsref/jsref_getday.asp

później możesz sobie np. zmienić linki na

  1. <li><a href="#" data-day="1">poniedziałek</a></li>

itd.

i w JS później lecisz (pseudokod):

if (data-day === getday) addClass select
Go to the top of the page
+Quote Post
kamil4u
post 17.07.2014, 10:41:14
Post #3





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Osobiście jestem przeciwny dodawaniu atrybuty, których nie ma -> data-day="1"

Proponuję zrobić switch i w zależności od tego dodawać odpowiednią klasę w odpowiednim elemencie. Zwiększy się troszkę ilość kodu, ale moim zdaniem kod będzie poprawniejszy.


--------------------
Go to the top of the page
+Quote Post
vermis
post 17.07.2014, 10:56:02
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Cytat(kamil4u @ 17.07.2014, 11:41:14 ) *
Osobiście jestem przeciwny dodawaniu atrybuty, których nie ma -> data-day="1"


Specyfikacja html5 dopuszcza parametry data-* więc nie widzę powodu, żeby ich nie używać. Używanie zamiast nich klas jest bardziej nadużyciem, bo klasy nie służą do przechowywania danych.


--------------------
Go to the top of the page
+Quote Post
Damonsson
post 17.07.2014, 10:57:22
Post #5





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Cytat(kamil4u @ 17.07.2014, 11:41:14 ) *
Osobiście jestem przeciwny dodawaniu atrybuty, których nie ma -> data-day="1"

Proponuję zrobić switch i w zależności od tego dodawać odpowiednią klasę w odpowiednim elemencie. Zwiększy się troszkę ilość kodu, ale moim zdaniem kod będzie poprawniejszy.


Bzdury, chyba piszesz wg HTML 4 ciągle.

Odpowiednią klasę w odpowiednim elemencie? Czyli jak? Podaj chociaż alternatywę.

Ten post edytował Damonsson 17.07.2014, 10:59:04
Go to the top of the page
+Quote Post
kamil4u
post 17.07.2014, 14:09:48
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Myślałem o czymś w stylu:
Kod
switch( day ){
case 1: $( element1 ).addClass( ... ); break;
case 2: $( element2 ).addClass( ... ); break;
case 3: $( element3 ).addClass( ... ); break;
case 4: $( element4 ).addClass( ... ); break;
...
}


Cytat
Specyfikacja html5 dopuszcza parametry data-* więc nie widzę powodu, żeby ich nie używać.

Cytat
Bzdury, chyba piszesz wg HTML 4 ciągle.

Nie bzdury, tylko takie jest moje zdanie - nigdzie nie napisałem, że tak nie wolno robić. Uważam, że w tym wypadku nie ma sensu dodawać takich atrybutów, bo można to zrobić tak jak podałem wyżej. Po prostu jeśli się da to wolę nie używać takich atrybutów, bo jak można małym kosztem to po co?

Nie atakujcie mnie tak wink.gif


--------------------
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: 13.08.2025 - 22:49