css enkel vanaf 2° zichtbaar before toevoegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan R

Jan R

19/02/2018 10:49:08
Quote Anchor link
Hi,

Ik gebruik deze css
div.vrij span:not(:first-child):not(:nth-child(2))::before{/* 1° element=vrij, Vanaf 2 zijn de namen */
content:", ";
}

Echter via javascript toon of verberg ik bepaalde gegevens. De before zou pas mogen gebruikt worden vanaf de 3° zichtbare span.
De 1° is altijd zichtbaar
vanaf de 2° staan er namen

Nu heb ik dus een komma staan als de 1° speler verborgen is. dit is dus niet correct.

Iemand een idee hoe ik dit oplos via css?

Jan
 
PHP hulp

PHP hulp

26/04/2024 14:05:11
 
Rob Doemaarwat

Rob Doemaarwat

19/02/2018 13:27:57
Quote Anchor link
"Verberg" als in "ooit nog weer te tonen" of "nooit meer tonen"? In dat laatste geval kun je'm dan misschien helemaal verwijderen, en dat lost het probleem zich vanzelf op.

Anders nog een expliciete :visible aan je selector toevoegen (?).
 
Thomas van den Heuvel

Thomas van den Heuvel

19/02/2018 16:39:59
Quote Anchor link
Quote:
Nu heb ik dus een komma staan als de 1° speler verborgen is. dit is dus niet correct.

Iemand een idee hoe ik dit oplos via css?]


Uhm, waar komen die spelers vandaan (database?), hoe wordt de HTML gegenereerd (dynamisch?) en hoe luidt de verdere functionaliteit?

Als het gaat om een kommagescheiden lijst waarbij verschillende spelers getoond/verborgen kunnen worden (hoe dit ook mag werken), kun je dit dan niet beter -voor het merendeel- programmeren, in plaats van met CSS oplossen?

Wat je in feite wilt is een komma gescheiden rijtje correct? Dus [naam][komma][naam][komma][naam]. Wat nu als de dit rijtje gewoon telkens opnieuwe genereert op het moment dat je een nieuwe combinatie weergeeft? Mogelijk kun je dit via JavaScript doen met een .join() op een array? Hier boet je dan wel in op toegankelijkheid.

Of je zorgt ervoor dat alle namen een [komma][naam] paar vormen, en je de [komma] verbergt voor de eerste naam? Dit zou e.e.a. ook een stuk eenvoudiger maken?

Ik denk dat sowieso die eerste <span> roet in het eten gooit omdat die anders werkt dan de rest, behandel deze dan ook apart zodat je de rest op eenzelfde wijze kunt manipuleren.

Meerdere oplossingen denkbaar. Begin met wat het functioneel zou moeten doen, maak dan een logische verdeling en hanteer een simpele oplossing. Anders wordt zowel de JavaScript als de CSS een incoherente chaotische brei.
 
Jan R

Jan R

19/02/2018 18:08:44
Quote Anchor link
Blijkbaar is er een pak meer info nodig :)
De startlijst komt van een database. wie speelt tegen wie op welke dag. uit een andere tabel komen er spelers welke afwezig zullen zijn.
Afbeelding. zo zijn er X aantal speeldagen.
Bovenaan zie je de afwezigen. in het midden de effectieve partijen en onderaan zij die niet spelen.

Als ik nu een partij verplaats van 1 dag naar een andere(drag/drop) moeten de namen bij de ene dag verborgen worden en bij de andere dag getoond worden. Dit is dus javascript. hiervoor moeten natuurlijk alle namen er al zijn.

Jan
Gewijzigd op 19/02/2018 18:14:14 door Jan R
 
Thomas van den Heuvel

Thomas van den Heuvel

19/02/2018 21:17:29
Quote Anchor link
Mja, maak een aparte div/element voor die wedstrijden, zodat je alle elementen daarin hetzelfde kunt behandelen.
 
Jan R

Jan R

20/02/2018 04:47:18
Quote Anchor link
Dat is dus net wat ik nu doe. maar als het zou kunnen met css dan wordt de code dus kleiner met minder kans op fouten.
 
Rob Doemaarwat

Rob Doemaarwat

20/02/2018 16:06:42
Quote Anchor link
Ik vermoed dat je met je "javascript" de eerst/laatst zichtbare (vrije) speler ook meteen een aparte class mee moet geven om in dat geval de komma te verbergen.
Gewijzigd op 20/02/2018 16:11:59 door Rob Doemaarwat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.