Avatar billede gunnernuhansen Nybegynder
25. september 2008 - 13:24 Der er 8 kommentarer og
1 løsning

Tilknyt href variabel til billede rotation

Hej

Jeg skal have tilføjet et "A href" som en variabel på de steder hvor der bliver skrevet et billede ud.

Er der nogen som kan hjælpe mig med at flette sådan noget sammen :(


<!--@LoopStart(Products)-->

<script type="text/javascript">

                           

var Pix<!--@Ecom:Product.Number--> = '<!--@Ecom:Product.ImageMedium.Clean-->';



</script>         

<!--@LoopEnd(Products)-->



<!--DwTemplateTags-->



<SCRIPT "LANGUAGE="JavaScript">



<!-- Begin



// Set path to the folder

//var PixFileFolder = "/Files/Billeder/LH2/ForsideSlide/" ;

// Set slideShowSpeed (milliseconds)

var slideShowSpeed = 8000;

// Duration of crossfade (seconds)

var crossFadeDuration = 9;

// Specify the image files

var Pic = new Array();

// to add more images, just continue

// the pattern, adding to the array below

// add the path to the files below



Pic[0] = Pix0

Pic[1] = Pix1



if (window.Pix2 != undefined)

{

Pic[2] = Pix2

}

if (window.Pix3 != undefined)

{

Pic[3] = Pix3

}

if (window.Pix4 != undefined)

{

Pic[4] = Pix4



}

if (window.Pix5 != undefined)

{

Pic[5] = Pix5

}

if (window.Pix6 != undefined)

{

Pic[6] = Pix6

}

if (window.Pix7 != undefined)

{

Pic[7] = Pix7

}



if (window.Pix8 != undefined)

{

Pic[8] = Pix8

}



if (window.Pix9 != undefined)

{

Pic[10] = Pix10

}

if (window.Pix11 != undefined)

{

Pic[11] = Pix11

}



// do not edit anything below this line

var t;

var j = 0;



var p = Pic.length;

var preLoad = new Array();

for (i = 0; i < p; i++) {

preLoad[i] = new Image();

preLoad[i].src = Pic[i];

}



function runSlideShow() {

if (document.all) {

document.images.SlideShow.style.filter="blendTrans(duration=2)";

document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)";

document.images.SlideShow.filters.blendTrans.Apply();

}

document.images.SlideShow.src = preLoad[j].src;



if (document.all) {

document.images.SlideShow.filters.blendTrans.Play();

}

j = j + 1;

if (j > (p - 1)) j = 0;

t = setTimeout('runSlideShow()', slideShowSpeed);

}

//  End -->

</script>


<body onload="runSlideShow()">

<table border="0" cellpadding="0" cellspacing="0">

<tr>

<td id="VU" height=150 width=150>

<img src="/Files/Billeder/x.gif" name='SlideShow'>

</tr>

</table>

</body>
Avatar billede roenving Novice
25. september 2008 - 17:03 #1
Tjah, scriptet du har fundet er ikke opfundet i dette årtusind, men ser ud som en af de innovationer, der fulgte frigivelsen af IE4 (1997 ?-)

-- jeg ville nok finde et rimeligt nutidigt cross-browser fade-over-script, dem er der nemlig også en masse af !-)

-- og så indsætter du billederne helt ornsvagt, prøv i stedet f.eks.:

<script type="text/javascript">
var Pic = new Array();

//<!--@LoopStart(Products)-->                           

Pic[<!--@Ecom:Product.Number-->] = '<!--@Ecom:Product.ImageMedium.Clean-->';

//<!--@LoopEnd(Products)-->


// Set path to the folder

//var PixFileFolder = "/Files/Billeder/LH2/ForsideSlide/" ;

// Set slideShowSpeed (milliseconds)

var slideShowSpeed = 8000;

// Duration of crossfade (seconds)

var crossFadeDuration = 9;

// do not edit anything below this line

var t;

var j = 0;

...
Avatar billede gunnernuhansen Nybegynder
26. september 2008 - 10:40 #2
Hej roenving

Tak for dit hurtige svar. Jamen der kan man da bare se.

Jeg har tænkt mig at afprøve din version senere, glæder mig :)

Men jeg har stadig et problem med at tilføje en dynamiske variabel som indholder et link.

På forhånd tak
Avatar billede roenving Novice
27. september 2008 - 12:49 #3
F.eks.

<script type="text/javascript">
var Pic = new Array();
var link = [];

//<!--@LoopStart(Products)-->                           

Pic[<!--@Ecom:Product.Number-->] = '<!--@Ecom:Product.ImageMedium.Clean-->';
link[<!--@Ecom:Product.Number-->] = '<!--@Ecom:Product.Link-->';

//<!--@LoopEnd(Products)-->

-- og så skrive et link ind:

<tr>

<td id="VU" height=150 width=150>
  <a href="java script:void(0)" id="bannerLink">
    <img src="/Files/Billeder/x.gif" name='SlideShow'>
  </a></td>
</tr>

-- og tilføje en linje i koden:

document.images.SlideShow.src = preLoad[j].src;
document.getElementById("bannerLink").href = link[j];
Avatar billede gunnernuhansen Nybegynder
27. september 2008 - 19:42 #4
Kanon. Det lyder som det jeg lige skal bruge.

Jeg har dog lige prøvet at sætte det sammen og jeg får følgende output.

Pic[0] = '/Files/Billeder/xoco/pic1.jpg';
link[0] = '<a href="Default.aspx?ID=1&ProductID=PROD2">image1</a>';                 
Pic[1] = '/Files/Billeder/xoco/pic2.jpg';
link[1] = '<a href="Default.aspx?ID=1&ProductID=PROD3">image2</a>';
Pic[2] = '/Files/Billeder/xoco/pic3.jpg';
link[2] = '<a href="Default.aspx?ID=1&ProductID=PROD4">image3</a>';

Hvordan får jeg sat billede-urlen ind i mellem hrefén?

Mvh.

Rasmus
Avatar billede roenving Novice
28. september 2008 - 05:36 #5
Det var dog en tåbelig ide, det system har ...

document.images.SlideShow.src = preLoad[j].src;
document.getElementById("bannerLink").href = link[j].replace(/^.*?href="([^"]*).*$/i,"$1");
Avatar billede roenving Novice
28. september 2008 - 05:39 #6
-- men måske kan du fange urlen i en anden attribut end den du lige har brugt, href, webRef eller et eller andet, prøv at kigge i dokumentationen til Ecom-systemet !-)
Avatar billede gunnernuhansen Nybegynder
28. september 2008 - 15:22 #7
Det virkede det første du skrev. Jeg skulle bare lige ryde op i koden.

Mange tak for hjælpen du har været en stor hjælp...!

Sætter du et svar?

Mvh.

Rasmus
Avatar billede roenving Novice
29. september 2008 - 02:54 #8
Velbekomme '-)
Avatar billede roenving Novice
06. oktober 2008 - 16:42 #9
-- og tak for point ;~}
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

IT-JOB