width van div aanpassen op het aantal visibile divs.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Hendriks

Marco Hendriks

25/04/2013 14:29:55
Quote Anchor link
Ik wil de divs die ik show met jquery veranderen van width naar mate het aantal divs dat geopend word.
Dus met anderen woorden als ik een div open heb dan is de width bijv 100px als er een tweede opend worden deze beide bijv width 70px enz enz.

Nu had ik al bedacht dat ik het aantal divs dat geopend worden moest tellen dat wou ik zo doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
  var $myvar = $(".content:visible").length;
  document.write($myvar);


Maar dit werkt al niet maar hoe moet ik het dan doen?

UPDATE
Ik heb het nu deels werkend gekregen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$('.idboxwrapper').click(function() {
              var $aantal = $(".content:visible").length;
              var $width = 300 - $aantal*20;
            
            $(this).css( "width", $width );
            if( $('.content').is(':hidden') ) {
                $(this).find(".content").show(0);
                $(this).find(".info").hide(0);
            }
        });


Alleen wat ik nu nog mis is dat het script iederen div de zelfde maat geeft. Op dit moment verkleind hij steeds de volgende div weer. En ik wil dat hij zo gauw er een div opend dat alle geopende divs zich verkleinen naar het kleineren formaat.
Gewijzigd op 25/04/2013 14:41:08 door Marco Hendriks
 
PHP hulp

PHP hulp

19/04/2024 17:53:33
 
Kris Peeters

Kris Peeters

25/04/2013 14:45:56
Quote Anchor link
Marco Hendriks op 25/04/2013 14:29:55:
...Alleen wat ik nu nog mis is dat het script iederen div de zelfde maat geeft. Op dit moment verkleind hij steeds de volgende div weer. ...


Ja, dat komt door die $(this).
$(this) betekent: het aangesproken element.
Dus enkel de div waarop geklikt is, krijgt een aangepaste css.

Doe toch gewoon

$(".content:visible").css( "width", $width ); // jouw lijn 5

Of zet in de selector wat je nodig hebt (stel dat ik mis zit).
Gewijzigd op 25/04/2013 14:47:22 door Kris Peeters
 
Marco Hendriks

Marco Hendriks

25/04/2013 14:53:00
Quote Anchor link
Dank je dat was een goede oplossing. Alleen nu is er nog een klein ding op de div waarop je klikt daar voert die de width niet op uit maar wel op de gene die al open staan... Waar kan dat aan liggen?

UPDATE:
is al opgelost doormiddel van dit stukje code naar boven te plaasten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
if( $('.content').is(':hidden') ) {
                $(this).find(".content").show(0);
                $(this).find(".info").hide(0);
            }
Gewijzigd op 25/04/2013 14:56:11 door Marco Hendriks
 



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.