lightbox function blocked by JS imageBlend???

Get help with installation and running phpwcms here. Please do not post bug reports or feature requests here.
Post Reply
User avatar
lady_witchcraft
Posts: 94
Joined: Sun 14. Nov 2004, 19:19
Location: Austria
Contact:

lightbox function blocked by JS imageBlend???

Post by lady_witchcraft »

hey folks, got a little problem - ONLY ON A PC with IE :-D

using phpcms with its cute lightbox function and added a simple javascript for a imageblend in the header (slideshow) - everything is working on mac and the different browsers, but with IE unter windows - nice IE reports, that the 2 pages using slideshows could not be displayed... my first tip was, that the two JS functions don't like each other... so i deleted the JS from the template header and hear, hear - the page was displayed and lightbox is working fine...

Code: Select all

<script type="text/javascript">
      
/***********************************************
* Ultimate Fade-In Slideshow (v1.51): © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
 
var fadeimages=new Array()
//SET IMAGE PATHS. Extend or contract array as needed
fadeimages[0]=["img/slideshow/01.jpg", "", ""] //plain image syntax
fadeimages[1]=["img/slideshow/02.jpg", "", ""] //plain image syntax
fadeimages[2]=["img/slideshow/03.jpg", "", ""] //plain image syntax
fadeimages[3]=["img/slideshow/04.jpg", "", ""] //plain image syntax
fadeimages[4]=["img/slideshow/05.jpg", "", ""] //plain image syntax
fadeimages[5]=["img/slideshow/06.jpg", "", ""] //plain image syntax
fadeimages[6]=["img/slideshow/07.jpg", "", ""] //plain image syntax
fadeimages[7]=["img/slideshow/08.jpg", "", ""] //plain image syntax
fadeimages[8]=["img/slideshow/09.jpg", "", ""] //plain image syntax
fadeimages[9]=["img/slideshow/10.jpg", "", ""] //plain image syntax
fadeimages[10]=["img/slideshow/11.jpg", "", ""] //plain image syntax
fadeimages[11]=["img/slideshow/12.jpg", "", ""] //plain image syntax
//fadeimages[1]=["photo2.jpg", "http://www.cssdrive.com", ""] //image with link syntax
//fadeimages[2]=["photo3.jpg", "http://www.javascriptkit.com", "_new"] //image with link and target syntax
 
//var fadeimages2=new Array() //2nd array set example. Remove or add more sets as needed.
//SET IMAGE PATHS. Extend or contract array as needed
//fadeimages2[0]=["photo1.jpg", "", ""] //plain image syntax
//fadeimages2[1]=["photo2.jpg", "http://www.cssdrive.com", ""] //image with link syntax
//fadeimages2[2]=["photo3.jpg", "http://www.javascriptkit.com", "_new"] //image with link and target syntax
 
var fadebgcolor="white"

////NO need to edit beyond here/////////////
 
var fadearray=new Array() //array to cache fadeshow instances
var fadeclear=new Array() //array to cache corresponding clearinterval pointers
 
var dom=(document.getElementById) //modern dom browsers
var iebrowser=document.all
 
function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder){
this.pausecheck=pause
this.mouseovercheck=0
this.delay=delay
this.degree=10 //initial opacity degree (10%)
this.curimageindex=0
this.nextimageindex=1
fadearray[fadearray.length]=this
this.slideshowid=fadearray.length-1
this.canvasbase="canvas"+this.slideshowid
this.curcanvas=this.canvasbase+"_0"
if (typeof displayorder!="undefined")
theimages.sort(function() {return 0.5 - Math.random();}) //thanks to Mike (aka Mwinter) :)
this.theimages=theimages
this.imageborder=parseInt(borderwidth)
this.postimages=new Array() //preload images
for (p=0;p<theimages.length;p++){
this.postimages[p]=new Image()
this.postimages[p].src=theimages[p][0]
}
 
var fadewidth=fadewidth+this.imageborder*2
var fadeheight=fadeheight+this.imageborder*2
 
if (iebrowser&&dom||dom) //if IE5+ or modern browsers (ie: Firefox)
document.write('<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div></div>')
else
document.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>')
 
if (iebrowser&&dom||dom) //if IE5+ or modern browsers such as Firefox
this.startit()
else{
this.curimageindex++
setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay)
}
}

function fadepic(obj){
if (obj.degree<100){
obj.degree+=10
if (obj.tempobj.filters&&obj.tempobj.filters[0]){
if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+
obj.tempobj.filters[0].opacity=obj.degree
else //else if IE5.5-
obj.tempobj.style.filter="alpha(opacity="+obj.degree+")"
}
else if (obj.tempobj.style.MozOpacity)
obj.tempobj.style.MozOpacity=obj.degree/101
else if (obj.tempobj.style.KhtmlOpacity)
obj.tempobj.style.KhtmlOpacity=obj.degree/100
else if (obj.tempobj.style.opacity&&!obj.tempobj.filters)
obj.tempobj.style.opacity=obj.degree/101
}
else{
clearInterval(fadeclear[obj.slideshowid])
obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1"
obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas)
obj.populateslide(obj.tempobj, obj.nextimageindex)
obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)? obj.nextimageindex+1 : 0
setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay)
}
}
 
fadeshow.prototype.populateslide=function(picobj, picindex){
var slideHTML=""
if (this.theimages[picindex][1]!="") //if associated link exists for image
slideHTML='<a href="'+this.theimages[picindex][1]+'" target="'+this.theimages[picindex][2]+'">'
slideHTML+='<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">'
if (this.theimages[picindex][1]!="") //if associated link exists for image
slideHTML+='</a>'
picobj.innerHTML=slideHTML
}
 
 
fadeshow.prototype.rotateimage=function(){
if (this.pausecheck==1) //if pause onMouseover enabled, cache object
var cacheobj=this
if (this.mouseovercheck==1)
setTimeout(function(){cacheobj.rotateimage()}, 100)
else if (iebrowser&&dom||dom){
this.resetit()
var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
crossobj.style.zIndex++
fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",50)
this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0"
}
else{
var ns4imgobj=document.images['defaultslide'+this.slideshowid]
ns4imgobj.src=this.postimages[this.curimageindex].src
}
this.curimageindex=(this.curimageindex<this.postimages.length-1)? this.curimageindex+1 : 0
}
 
fadeshow.prototype.resetit=function(){
this.degree=10
var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
if (crossobj.filters&&crossobj.filters[0]){
if (typeof crossobj.filters[0].opacity=="number") //if IE6+
crossobj.filters(0).opacity=this.degree
else //else if IE5.5-
crossobj.style.filter="alpha(opacity="+this.degree+")"
}
else if (crossobj.style.MozOpacity)
crossobj.style.MozOpacity=this.degree/101
else if (crossobj.style.KhtmlOpacity)
crossobj.style.KhtmlOpacity=this.degree/100
else if (crossobj.style.opacity&&!crossobj.filters)
crossobj.style.opacity=this.degree/101
}
 
 
fadeshow.prototype.startit=function(){
var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
this.populateslide(crossobj, this.curimageindex)
if (this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER
var cacheobj=this
var crossobjcontainer=iebrowser? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid)
crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1}
crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0}
}
this.rotateimage()
}

</script>
so now the question, how can i teach IE to NOT report an error while using both JS? is there a need to write the imageblend JS into a independent .js file and to call the function via include in the header? might that help? any other suggestions??

thx a lot for your help and suggestions in advance, hope to solve the problem today!

lovely greetz from austria,
claudia
[hating windoooooooof!!!]
Last edited by lady_witchcraft on Sat 13. Sep 2008, 15:01, edited 2 times in total.
... it's not bad luck, it's a bug ...
User avatar
lady_witchcraft
Posts: 94
Joined: Sun 14. Nov 2004, 19:19
Location: Austria
Contact:

Re: lightbox function blocked by a simple JS imageBlend???

Post by lady_witchcraft »

ok, putting the imageBlend JS code into an independente JS file (under template/inc_js/) will NOT help, same error in IE shows up.... any other ideas?! :roll:

other try:
thought maybe a variable is named twice or something like that, so i replaced all "fade" words with "blend" and the JS is still NOT working under windoof & IE without any errors!!!! :evil:
... it's not bad luck, it's a bug ...
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: lightbox function blocked by JS imageBlend???

Post by Cipolla »

Hello Claudia,

you are right, the two scripts don´t work together. I had the similar thing when adapting a static website with imagefade for the header to phpwcms. On a side without slimbox everything works fine, but not when both are active.

I took a deeper look in the source of the imagefade, but in the end my knowledge isn´t that good enough to solve it. Maybe the imagrotator, which is nearly better than imagefade and runs as a module inside phpwcms is a good choice.

Please have look here:

http://forum.phpwcms.org/viewtopic.php? ... agerotator

ciao
Klaus
...
User avatar
lady_witchcraft
Posts: 94
Joined: Sun 14. Nov 2004, 19:19
Location: Austria
Contact:

Re: lightbox function blocked by JS imageBlend???

Post by lady_witchcraft »

heho klaus,

thx for the suggestion but that's why i've chosen a simple JS because i don't like to install some hacks or additional mods to the cms installation - call my lazy :-D

imagerotator sounds good, but i don't need an additonal content part - only a simple thing to keep the slideshow in the webpages header running... is it that complicated to find some JS that works with the phpwcms?

keep on searching - mooshow is also nice, cause it hase a RT, BUT to be hones, it's too much work for the webpage of a friend of mine...

any other suggestions?!

but thank a lot for your time and your message klaus!!!

sunny greetz from austria, claudia
... it's not bad luck, it's a bug ...
User avatar
lady_witchcraft
Posts: 94
Joined: Sun 14. Nov 2004, 19:19
Location: Austria
Contact:

Re: lightbox function blocked by JS imageBlend???

Post by lady_witchcraft »

tried it with a xml/flash slideshow and it works...

http://www.kirupa.com/developer/mx2004/ ... deshow.htm

nice evening & greetz, claudia
... it's not bad luck, it's a bug ...
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: lightbox function blocked by JS imageBlend???

Post by update »

lady_witchcraft wrote:tried it with a xml/flash slideshow and it works...
...and this is what imagerotator is all about... I think ;)
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: lightbox function blocked by JS imageBlend???

Post by Cipolla »

...and this is what imagerotator is all about... I think
yep, you are absolotely right :!:

But the main thing is: it´s working for claudia
...
User avatar
lady_witchcraft
Posts: 94
Joined: Sun 14. Nov 2004, 19:19
Location: Austria
Contact:

Re: lightbox function blocked by JS imageBlend???

Post by lady_witchcraft »

hey guys, may you call me less flexible but as i mentioned before, i just needed a simple version of a slideshow for the header, not a new content part thing with lots of source-code lines to work on :lol:

so this solution is quick and dirty :wink: but i'll keep the imagerotation thing in mind for further projects!

thx a lot for your help and support!!!

greetz & buzzl, claudsch
... it's not bad luck, it's a bug ...
Post Reply