Avatar billede mcclaud Nybegynder
21. februar 2012 - 22:50 Der er 6 kommentarer og
1 løsning

Opdeling af script

Hej alle eksperter

Jeg arbejder netop nu med et jQuery-script (en foto-slider). En del af scriptet lå som udgangspunkt på selve htm-siden, men jeg flyttede det ind i en separat js-fil, som jeg nu henviser til fra htm-siden. Jeg kunne dog godt tænke mig at ligge en lille del ud på selve htm-siden - den del med henvisning til billederne. Resten af scriptet vil jeg gerne bevare i den eksterne js-fil. Hvordan kan det lade sig gøre?

Den del, jeg gerne vil have på htm-siden, er funktionen 'slides'.

----------
jQuery(function($){
$.supersized({
slide_interval    : 3000,
transition        : 1,
transition_speed:    700,
slide_links        :    'blank',
slides            : [
    {image : 'grafik/baggrund/test-01.jpg'},
    {image : 'grafik/baggrund/test-02.jpg'},
    {image : 'grafik/baggrund/test-03.jpg'},
]
});
});
----------

:o) mcclaud
Avatar billede heinzdmx Nybegynder
21. februar 2012 - 23:17 #1
Du kunne jo prøve at lave det sådan at dit script kan håndtere hvis der ikke findes javascript. Altså at opbygge dit script med rigtig html

<img class="imagesliderimg" src="grafik/baggrund/test-01.jpg" />
<img class="imagesliderimg" src="grafik/baggrund/test-02.jpg" />
<img class="imagesliderimg" src="grafik/baggrund/test-03.jpg" />



var imgList = [];

$(".imagesliderimg" ).each(function(index, domEle) {
    imgList.push(domEle.src);
} );



Og ja, koden er ikke testet, men skulle give en ide omkring hvor det kan gøres.

Nu vil nok også gøre sådan at de forskellige billeder er skjulte til at starte med, sådan at det kun er et billeder der er vist hvis javascript er slået fra (og mens siden loader)
Avatar billede mcclaud Nybegynder
22. februar 2012 - 23:20 #2
Hej heinzdmx

Tak for sit svar. Jeg er ikke særlig stærk på kodning i javascript. Det jeg har prøvet er følgende:

Det eksterne script ser nu således ud:
----------
jQuery(function($){
$.supersized({
slide_interval    : 3000,
transition      : 1,
transition_speed: 700,
slide_links    : 'blank',
});
});
----------

Det interne script (placeret i HEAD) på selve siden ser nu således ud:
----------
<script type="text/javascript">
var imgList = [];
$(".imagesliderimg" ).each(function(index, domEle) {
    imgList.push(domEle.src);
} );
</script>
----------

Den interne html-kode (placeret i BODY) på selve siden ser nu således ud:
----------
<img alt="" class="imagesliderimg" src="grafik/baggrund/test-01.jpg" />
<img alt="" class="imagesliderimg" src="grafik/baggrund/test-02.jpg" />
<img alt="" class="imagesliderimg" src="grafik/baggrund/test-03.jpg" />
----------

Det virker desværre ikke?

:o) mcclaud
Avatar billede heinzdmx Nybegynder
25. februar 2012 - 13:09 #3
Nu var den kode jeg skrev, netop noget der skulle gøre det muligt at undgå at benytte 2 scripts.

Men hvis du ikke har meget forstand på javascript, burde du måske overveje at benytte de plugins der er lavet til formålet.

Prøv f.eks. at kigge på gallerific der kan tilpasses så det bliver en almindelig slider

http://www.twospy.com/galleriffic/

Eller hvad med den her, der også ser ret brugbar ud

http://www.easingslider.matthewruddy.com/
Avatar billede mcclaud Nybegynder
26. februar 2012 - 12:03 #4
Hej heinzdmx

Jeg vil hellere end gerne nøjes med ét script. Jeg har derfor forsøgt følgende. Desværre virker det ikke. Har du et forslag til, hvad der kan være galt?

Det eksterne script ser nu således ud:
----------
jQuery(function($){
$.supersized({
slide_interval    : 3000,
transition        : 1,
transition_speed:    700,
slide_links        :    'blank',
});

var imgList = [];
$(".imagesliderimg" ).each(function(index, domEle) {
    imgList.push(domEle.src);
} );

});
----------

Den interne html-kode (placeret i BODY) på selve siden ser nu således ud:
----------
<img alt="" class="imagesliderimg" src="grafik/baggrund/test-01.jpg" />
<img alt="" class="imagesliderimg" src="grafik/baggrund/test-02.jpg" />
<img alt="" class="imagesliderimg" src="grafik/baggrund/test-03.jpg" />
----------

:o)mcclaud
Avatar billede heinzdmx Nybegynder
27. februar 2012 - 19:08 #5
Altså hvis det er det eneste du har, så tvivler jeg stærkt på at det er nok til at kunne bruges.

Mit forslag er derfor at tjekke de links jeg har sendt til dig
Avatar billede mcclaud Nybegynder
27. februar 2012 - 19:42 #6
Hej heinzdmx

Det prøver jeg... Hvis du smider et svar, så kommer pointene.

:o) mcclaud
Avatar billede heinzdmx Nybegynder
27. februar 2012 - 19:54 #7
Svar her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester