2017-09-05 2 views
0

Ich habe diesen Abschnitt mit Bootstrap SQLserver und PHP erstellt ...mehr Taste

Gibt es eine Möglichkeit nur ein wenig davon angezeigt wird und gibt der Schaltfläche Weitere Option Ansicht, die das gesamte Ergebnis anzuzeigen?

enter image description here

Es gibt wie 10 Decks, und ich möchte beispiels sidplay nur 2, und wenn Benutzer klickt Mehr Alle von ihnen angezeigt werden soll.

Dies ist mein PHP-Code für dieses Ergebnis.

<div class="vertical-wrapper"> 
<?php 
for($i=0;$i<count($decks);$i++){ 
    $deck_name = $decks[$i]['name']; 
    $deck_desc = $decks[$i]['description'];           
    $deck_img_link = $json['deckplans'][$i]['images'][0]['href']; 
    echo "<img class='bd-imagelink-157 bd-own-margins bd-imagestyles' src='$deck_img_link'><p class='bd-textblock-779 bd-content-element'>$deck_name</p>"; 
    echo $deck_desc; 
} 
?> 
</div> 

Ich habe versucht, die Bootstrap setzen mehr Schaltfläche hinzufügen, sondern am Ende des Abschnitts angezeigt, nachdem der gesamte Inhalt geladen wird, und ist sinnlos

+0

Warum verwenden Sie eine for-Schleife und nicht eine foreach-Schleife? Ihr Loop-Start könnte leicht als 'foreach ($ decks als $ deck) 'definiert werden und dann können Sie zum Beispiel' $ deck_name 'rufen, wäre' $ deck ['name']'. – GrumpyCrouton

+1

Möchtest du mehr Inhalte pro Deck dynamisch anfordern und laden oder nur alle Decks am Frontend anzeigen, wenn "Mehr anzeigen" angeklickt wird? –

+0

@SebCooper ich habe wirklich nichts dagegen .. Ich kann auch nicht verwalten. Ich möchte nur, dass es funktioniert .. Aber wahrscheinlich ist die Anfrage schwieriger mit Ajax und ich habe keine Ahnung von Ajax, nur ein bisschen auf JavaScript – Maria

Antwort

1

Das folgende Beispiel zeigt, wie Sie zusätzliche versteckte Gegenstände offenbaren könnten eins nach dem anderen. Sie müssen die JavaScript-Bibliothek von jQuery verwenden, damit dies funktioniert.

$('#viewmore').on('click', function(){ 
 
\t $('.item:hidden').show(); 
 
})
.hidden { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="item"> 
 
ITEM 1 
 
</div> 
 
<div class="item hidden"> 
 
ITEM 2 
 
</div> 
 
<div class="item hidden"> 
 
ITEM 3 
 
</div> 
 
<div class="item hidden"> 
 
ITEM 4 
 
</div> 
 
<button id="viewmore"> 
 
View More 
 
</button> 
 
</button>

+0

Ist es möglich, alle Elemente anzuzeigen, wenn Sie mehr anzeigen, anstatt nacheinander anzuzeigen? – Maria

+1

Ja, entfernen Sie einfach die '.first()' Methode aus dem Event-Handler-Selektor. [Die Antwort wurde aktualisiert, um dies zu verdeutlichen.] –

Verwandte Themen