---
title: "jCarousel - ett tillägg som ni kanske kan hjälpa mig med"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/184834-jcarousel-ett-tillägg-som-ni-kanske-kan-hjälpa-mig-med"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "bikic"
published: "2010-10-05T10:51:18.000Z"
updated: "2010-10-06T09:14:18.000Z"
replies: 10
views: 798
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/184834-jcarousel-ett-tillägg-som-ni-kanske-kan-hjälpa-mig-med"
---

# jCarousel - ett tillägg som ni kanske kan hjälpa mig med

## #1 — bikic, 2010-10-05T10:51Z

Hej alla,

På följande sida ser ni en slidefunktion (jCarousel):

<http://sorgalla.com/projects/jcarousel/>

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.

Permalänk: https://www.webforum.nu/p/184834

## #2 — voigtann1, 2010-10-05T11:26Z

kolla om den har mer än 4x bilder innan du "binder" plugin:et till elementen.

Permalänk: https://www.webforum.nu/p/2255989

## #3 — bikic, 2010-10-05T11:41Z

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.

Permalänk: https://www.webforum.nu/p/2255991

## #4 — voigtann1, 2010-10-05T11:46Z

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:

```
<div id="something">
    <div>
        <img src="...">
        <img src="...">
        <img src="...">
        <img src="...">
    </div>
    
    <div>
        <img src="...">
        <img src="...">
        <img src="...">
        <img src="...">
    </div>
    
    <div>
        <img src="...">
        <img src="...">
        <img src="...">
        <img src="...">
    </div>
    
    <div>
        <img src="...">
        <img src="...">
        <img src="...">
        <img src="...">
    </div>

    <div>
        <img src="...">
        <img src="...">
        <img src="...">
        <img src="...">
    </div>
</div>
```

Permalänk: https://www.webforum.nu/p/2255992

## #5 — bikic, 2010-10-05T12:20Z

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.

```
<script type="text/javascript">

        $(document).ready(function() {

		$('#mycarousel').jcarousel({
			auto: 0,
			wrap: 'both',
			scroll: 4,
			animation: 1000
		});

	});

</script>

<ul id="mycarousel">

	<li>Något här...</li>
	<li>Något här...</li>
	<li>Något här...</li>
	<li>Något här...</li>
	<li>Något här...</li>
	<li>Något här...</li>
	<li>Något här...</li>
	<li>Något här...</li>

</ul>
```

Permalänk: https://www.webforum.nu/p/2255994

## #6 — voigtann1, 2010-10-05T12:26Z

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:

```
var carousel = $('#mycarousel'),
    displayButton = carousel.children>4,
    button = displayButton ? "<div></div>" : null; //default values

carousel.jcarousel({
    auto: 0,
    wrap: 'both',
    scroll: 4,
    animation: 1000,
    buttonNextHTML: button,
    buttonPrevHTML: button
});
```

Permalänk: https://www.webforum.nu/p/2255995

## #7 — bikic, 2010-10-06T08:27Z

Tack för hjälpen!

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.

Kör scriptet enligt ovan.

Permalänk: https://www.webforum.nu/p/2256039

## #8 — voigtann1, 2010-10-06T08:33Z

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:

```
jcarousel-next jcarousel-next-horizontal jcarousel-next-disabled jcarousel-next-disabled-horizontal
```

det är bara att sätta en egen CSS på disabled delarna att de inte skall visas.

Permalänk: https://www.webforum.nu/p/2256040

## #9 — bikic, 2010-10-06T08:50Z

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.

Permalänk: https://www.webforum.nu/p/2256041

## #10 — voigtann1, 2010-10-06T09:02Z

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.

dum som jag är har jag ju skrivit fel....

```
displayButton = carousel.children().length>4,
```

 skall det ju självklart vara.

Permalänk: https://www.webforum.nu/p/2256043

## #11 — bikic, 2010-10-06T09:14Z

Nu funkade det! Tack och bock!

Permalänk: https://www.webforum.nu/p/2256044

---

Tråden på webben: https://www.webforum.nu/amne/javascript/184834-jcarousel-ett-tillägg-som-ni-kanske-kan-hjälpa-mig-med
