Denna är kanon och man kan göra många fiffiga saker med den. Väljer du att visa 4 bilder inom slidewrappern och har 12 totalt så kan man klicka sig vidare och sedan tillbaka. Min fråga är om man på något sätt kan gömma både next och prev-knapparna i fall sliden innehåller färre eller exakt 4. Idag kan man bara gömma en av knapparna.
Hur menar du med kolla? Det som jag testkör med nu har bara 4 bilder och jag har angivit i toppen att den ska visa 4 bilder per slide. Väljer jag wrap: last, så visar den next-knappen, använder jag first så visar den prev-knappen, använder jag both visar den båda och sätter jag den till null så visar den båda.
Hur ser din HTML kod ut och hur ser din JS kod ut?
<div id="someething">
<img src="...">
<img src="...">
<img src="...">
<img src="...">
</div>
<script>
var el = $("#something");
//Bind plugin only if the element has more children then 4
if(child.children().length>4) {
el.jcarousel();
}
Eller är det att du alltid vill visas 4 bilder per slide? Är väl bara att wrappar bilder i en div:
På raden Scroll: 4, så talar jag om hur många <li> som ska visas inom själva wrappern. Om dessa är mindre eller lika med värdet av scroll så ska den inte visa några pilar.
Läs mitt första svar då, om #mycarousel den har fler children än 4
antingen om du nu måste köra köra jscarousel även om det bara är 4st så ha en koll om children är <4 så skriver du över buttonNextHTML och buttonPrevHTML till Null enligt dokumentationen:
Det verkar inte riktigt som om det fungerar. Jag har talat om att det ska visas 4 bilder per wrap och pilarna (next och prev) syns inte, men så fort jag lägger till en femte bild så borde pilarna synas men det gör dem inte.
Då få du lyssna på events, om du få in fler element med ajax eller annat sätt som du påverkar DOM trädet, du få kolla på deras callback funktioner de har i pluginet, du vill inte köra min kod ovan, du vill visa knapparna men om det bara har 4st bilder så skall du bara ändra display/visibilityn på next/prev knapparna.
eller helt enkelt kolla den genererade HTML koden, om man tittar på exempel sidorna så genereras det på en av sidorna en klass:
Jag är så kass på att förklara, tack för att du har tålamod med mig ;) Lär mig grymt mycket!
Defaultvärdet är ju att pilarna alltid ska visas. Men jag vill att pilarna endast ska visas om det är fler än 4 bilder. Jag testade med ditt senaste script om att ersätta <div></div> med null, men det fungerar inte. Det verkade dock så riktigt bra lösning på mitt problem.
jag läser bara http://sorgalla.com/projects/jcarousel/#Configuration där buttonNextHTML och buttonPrevHTML som standard är <div></div>. men skriptet just nu kollas bara en gång, det är när sidan laddas in (har inte testat koden), men efter det så om det var fler än 4 bilder så bör next/prev knappen synas, men inte om du lägger in fler bilder efter att jquery skriptet har körts. dock vet jag inte hur du skriver för att få fler än 4st i efterhand.