/    Sign up×
Community /Pin to ProfileBookmark

Horizontal image slideshow not working with ajax

Hi all,

I’m configuring a horizontal slideshow script on my site and am having issues. The script requires a lot of code to be inserted in the body and so originally I made the scroller in an iframe, but then realized it wouldn’t interact the way I needed. Then I inserted it into the actual page, but that page is called by ajax and when that’s done, it no longer works.

Here’s the page alone with it working (bottom of page):
[url]http://www.foothillsbaptist.org/new08/main.htm[/url]

Here’s the page when called by ajax and it no longer working (should be bottom of page):
[url]http://www.foothillsbaptist.org/new08[/url]

And here’s the javascript of the slideshow:

[code]<script type=”text/javascript”>

/***********************************************
* Conveyor belt 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
***********************************************/

//Specify the slider’s width (in pixels)
var sliderwidth=”875px”
//Specify the slider’s height
var sliderheight=”150px”
//Specify the slider’s slide speed (larger is faster 1-10)
var slidespeed=1
//configure background color:
slidebgcolor=”#ffffff”

//Specify the slider’s images
var leftrightslide=new Array()
var finalslide=”
leftrightslide[0]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/1.gif” border=0></a>’
leftrightslide[1]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/2.gif” border=0></a>’
leftrightslide[2]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/3.gif” border=0></a>’
leftrightslide[3]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/4.gif” border=0></a>’
leftrightslide[4]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/5.gif” border=0></a>’
leftrightslide[5]='<a href=”javascript:ajaxpage(‘ministries/mens.htm’, ‘contentarea’);”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/6.gif” border=0></a>’
leftrightslide[6]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/7.gif” border=0></a>’
leftrightslide[7]='<a href=”http://”><img src=”http://www.webmaster-talk.com/images/ministry_rotate/8.gif” border=0></a>’

//Specify gap between each image (use HTML):
var imagegap=” ”

//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=5

////NO NEED TO EDIT BELOW THIS LINE////////////

var copyspeed=slidespeed
leftrightslide='<nobr>’+leftrightslide.join(imagegap)+'</nobr>’
var iedom=document.all||document.getElementById
if (iedom)
document.write(‘<span id=”temp” style=”visibility:hidden;position:absolute;top:-100px;left:-9000px”>’+leftrightslide+'</span>’)
var actualwidth=”
var cross_slide, ns_slide

function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById(“test2”) : document.all.test2
cross_slide2=document.getElementById? document.getElementById(“test3”) : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById(“temp”).offsetWidth
cross_slide2.style.left=actualwidth+slideshowgap+”px”
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval(“slideleft()”,30)
}
window.onload=fillup

function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+”px”
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+”px”

if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+”px”
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+”px”

}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap

if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}

if (iedom||document.layers){
with (document){
document.write(‘<table border=”0″ cellspacing=”0″ cellpadding=”0″><td>’)
if (iedom){
write(‘<div style=”position:relative;width:’+sliderwidth+’;height:’+sliderheight+’;overflow:hidden”>’)
write(‘<div style=”position:absolute;width:’+sliderwidth+’;height:’+sliderheight+’;background-color:’+slidebgcolor+'” onMouseover=”copyspeed=0″ onMouseout=”copyspeed=slidespeed”>’)
write(‘<div id=”test2″ style=”position:absolute;left:0px;top:0px”></div>’)
write(‘<div id=”test3″ style=”position:absolute;left:-1000px;top:0px”></div>’)
write(‘</div></div>’)
}
else if (document.layers){
write(‘<ilayer width=’+sliderwidth+’ height=’+sliderheight+’ name=”ns_slidemenu” bgColor=’+slidebgcolor+’>’)
write(‘<layer name=”ns_slidemenu2″ left=0 top=0 onMouseover=”copyspeed=0″ onMouseout=”copyspeed=slidespeed”></layer>’)
write(‘<layer name=”ns_slidemenu3″ left=0 top=0 onMouseover=”copyspeed=0″ onMouseout=”copyspeed=slidespeed”></layer>’)
write(‘</ilayer>’)
}
document.write(‘</td></table>’)
}
}
</script>[/code]

Thanks in advance!

to post a comment
JavaScript

5 Comments(s)

Copy linkTweet thisAlerts:
@CoyotelabAug 17.2008 — I'm not sure if I get it right but .js code is included in source for this url:http://www.foothillsbaptist.org/new08/main.htm

But its not included in source code for your other page

http://www.foothillsbaptist.org/new08/
Copy linkTweet thisAlerts:
@msaz87authorAug 17.2008 — Everything below the navigation bar is content called by ajax... so you don't see it included in that source. The main.htm page is the content being called by ajax...

The script is such that all the JS has to be embedded into the body (at least that's how I found it).

So the issue is... the script works fine when standing alone, but when that page is called by ajax, the script disappears.

Does that help?
Copy linkTweet thisAlerts:
@CoyotelabAug 17.2008 — well I think .js file should be place in an external file and then can be call for any page you assign it to.
Copy linkTweet thisAlerts:
@msaz87authorAug 17.2008 — Normally I would do that, but I found this script on dynamicdrive.com and followed its instructions for installation... and it had no script actually going in the <head> portion, all of it went in the <body>. If there's a way to put a full script that goes into the body in a .js file and then call it in the body again, I'd love to do that, I just don't know how to.
Copy linkTweet thisAlerts:
@CoyotelabAug 17.2008 — call it between your divs from an external file same way you calling an external java script file to run a flash file properly cross browser.
×

Success!

Help @msaz87 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...