PHP en Jquery vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Hendriks

Marco Hendriks

26/09/2012 12:06:49
Quote Anchor link
Ik heb een foreach loop waarmee ik porfiel fotos van een twitter feed binnen haal deze zet ik in een grid achter elkaar. Nu wil ik als ik op een van de foto's klik dat dan met jquery deze foto hide en een text box met de twitterfeed er in te voorschijn komt. Nu ben ik zover met het script dat dit bijna werkt alleen als ik nu op de foto klik dan veranderen alle foto's in textboxes in plaats van een. Ik weet ook waarom dit is omdat ze natuurlijk geen induviduele id's hebben en ze staan natuurlijk in een loop dus het klopt dat dit gebeurd alleen weet ik niet hoe ik dit moet oplossen... Weet iemand hier een oplossing voor?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?
    <div class="photobox">
        [
code]<?
            foreach($tweets as $tweet)
            {

        ?>

        
            <div class="photo">
            <div class="test">
                <div class="tweettextbox" style="display:none;">
                    <? echo $tweet->author;?><br/><? echo $tweet->content; ?>
                </div>
                <div class="tweetphoto">
                    <a href="#" title="<? echo $tweet->author;?>"> <img src="<? echo $tweet->avatar; ?>" width="81" height="81" border="0px"></a>    
                </div>
            </div>
            </div>
        
        <?
            }
         ?>

    </div>
    
    <script>
        $(".test").click(function () {
            $(".tweettextbox").show("fast");    
            $(".tweetphoto").hide("fast");            
        });
        $(".sidebar").click(function () {
            $(".tweettextbox").hide("fast");
            $(".tweetphoto").show("fast");    
        });
    </script>
?>
Gewijzigd op 26/09/2012 12:08:09 door Marco Hendriks
 
PHP hulp

PHP hulp

26/04/2024 20:26:01
 
Rolf -

Rolf -

26/09/2012 13:25:33
Quote Anchor link
Misschien heeft het te maken met die div class="test". Deze komt nu meerdere keren voor. Probeer er eens of het lukt als er maar 1 div staat met class="test"
 
Kris Peeters

Kris Peeters

26/09/2012 13:30:02
Quote Anchor link
Je snapt wel waarom alle tweet boxen aangepast worden he.
De selector werkt zoals die van css.

$(".tweetphoto").hide("fast");

zal als resultaat hebben (na de overgang):

.tweetphoto {
display: none;
}

Dat geldt dus inderdaad voor alles met class="tweetphoto".
----

Als je enkel het element wil aanspreken waarop geklikt is, heb je this ter beschikking.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$(".test").click(function () {
  // this = <div class="test">  . Maar dan enkel deze waarop geklikt is.
  // $(this).find(".tweettextbox") = binnen de geselecteerde  <div class="test"> zoekt jQuery naar <div class="tweettextbox">
  // dus ...
            $(this).find(".tweettextbox").show("fast");    
            $(this).find(".tweetphoto").hide("fast");            
});


Maar probeer het zelf eens uit; ik heb het niet getest.
Gewijzigd op 26/09/2012 13:31:56 door Kris Peeters
 
Marco Hendriks

Marco Hendriks

26/09/2012 13:41:45
Quote Anchor link
ohw tuurlijk ja bedankt :D

Toevoeging op 26/09/2012 13:44:28:

Net uit geprobeerd en works like a charm stom van me dat ik daar zelf niet aan gedacht heb.
 



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.