Results 1 to 2 of 2

Thread: need script change to avoid iframe

  1. #1
    Join Date
    Jul 2005
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Arrow need script change to avoid iframe

    Dear programmers out there !
    I need your help !

    I have a script for a slideshow, but it can only display one slideshow per page...
    i think its due to some variables or so

    but i need to make 4 slideshows on one page...
    ...and i dont know how to achieve that

    the only solution I know is to use 4 iframes and put the 4 slideshows on seperate pages...

    but not having to use iframes would be better and also more W3C friendly...
    so please help me out!

    i also had that idea of changing all the variable names
    ,.. and i tried it out...

    and what i found out is that if i copy paste the code and
    change that variables... then only the copy pasted version is seen...

    so i can only display the last slideshow...

    why do then the previous ones not work anymore...


    I'm convinced that your time is precious...
    but may i still ask you to have a look at the code,
    and so maybe find a way how it works ?

    The javascript:

    PHP Code:
    <script language="JavaScript1.2" type="text/javascript">

    /***********************************************
    * Fade-in image slideshow script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/

    var slideshow_width='140px' //SET IMAGE WIDTH
    var slideshow_height='225px' //SET IMAGE HEIGHT
    var pause=3000 //SET PAUSE BETWEEN SLIDE (3000=3 seconds)

    var fadeimages=new Array()
    //SET 1) IMAGE PATHS, 2) optional link, 3), optional link target:
    fadeimages[0]=["photo1.jpg"""""//plain image syntax
    fadeimages[1]=["photo2.jpg""http://www.google.com"""//image with link syntax
    fadeimages[2]=["photo3.jpg""http://www.javascriptkit.com""_new"//image with link and target syntax

    ////NO need to edit beyond here/////////////

    var preloadedimages=new Array()
    for (
    p=0;p<fadeimages.length;p++){
    preloadedimages[p]=new Image()
    preloadedimages[p].src=fadeimages[p][0]
    }

    var 
    ie4=document.all
    var dom=document.getElementById

    if (ie4||dom)
    document.write('<div style="position:relative;width:'+slideshow_width+';height:'+slideshow_height+';overflow:hidden"><div id="canvas0" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';top:0;left:0;filter:alpha(opacity=10);-moz-opacity:10"></div><div id="canvas1" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';top:0;left:0;filter:alpha(opacity=10);-moz-opacity:10;visibility: hidden"></div></div>')
    else
    document.write('<img name="defaultslide" src="'+fadeimages[0][0]+'">')

    var 
    curpos=10
    var degree=10
    var curcanvas="canvas0"
    var curimageindex=0
    var nextimageindex=1

    function fadepic(){
    if (
    curpos<100){
    curpos+=10
    if (tempobj.filters)
    tempobj.filters.alpha.opacity=curpos
    else if (tempobj.style.MozOpacity)
    tempobj.style.MozOpacity=curpos/101
    }
    else{
    clearInterval(dropslide)
    nextcanvas=(curcanvas=="canvas0")? "canvas0" "canvas1"
    tempobj=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
    tempobj.innerHTML=insertimage(nextimageindex)

    nextimageindex=(nextimageindex<fadeimages.length-1)? nextimageindex+0
    var tempobj2=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
    tempobj2.style.visibility="hidden"
    setTimeout("rotateimage()",pause)
    }
    }

    function 
    insertimage(i){
    var 
    tempcontainer=fadeimages[i][1]!=""'<a href="'+fadeimages[i][1]+'" target="'+fadeimages[i][2]+'">' ""
    tempcontainer+='<img src="'+fadeimages[i][0]+'" border="0">'
    tempcontainer=fadeimages[i][1]!=""tempcontainer+'</a>' tempcontainer
    return tempcontainer
    }

    function 
    rotateimage(){
    if (
    ie4||dom){
    resetit(curcanvas)
    var 
    crossobj=tempobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
    crossobj.style.zIndex++
    tempobj.style.visibility="visible"
    var temp='setInterval("fadepic()",50)'
    dropslide=eval(temp)
    curcanvas=(curcanvas=="canvas0")? "canvas1" "canvas0"
    }
    else
    document.images.defaultslide.src=fadeimages[curimageindex][0]
    curimageindex=(curimageindex<fadeimages.length-1)? curimageindex+0
    }

    function 
    resetit(what){
    curpos=10
    var crossobj=ie4? eval("document.all."+what) : document.getElementById(what)
    if (
    crossobj.filters)
    crossobj.filters.alpha.opacity=curpos
    else if (crossobj.style.MozOpacity)
    crossobj.style.MozOpacity=curpos/101
    }

    function 
    startit(){
    var 
    crossobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
    crossobj.innerHTML=insertimage(curimageindex)
    rotateimage()
    }

    if (
    ie4||dom)
    window.onload=startit
    else
    setInterval("rotateimage()",pause)

    </script> 

  2. #2
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    Just changing the variables' names isn't enough, you also must change id and function names. Additionally, the onload handlers must be combined one way or another.
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •