PDA

View Full Version : Ultimate Fade In Slideshow--Freezes on ipad and iphone



dcarlson
01-25-2013, 06:08 PM
Script Title: Ultimate Fade-in Slideshow

The slide show freezes when you touch the screen of an ipad or iphone. Is there a way to correct this?
I using v.2.1...has this been addressed in v2.4

Is this something to do with the mouseover function that pauses the show and then resumes the show when you mouseout? are there functions that address a touchscreen like the ipad or iphone.

Thanks

jscheuer1
01-26-2013, 07:48 AM
Not having either of those devices I can't say with certainty if the mouseover pause function is the cause. I can say with certainty that there aren't any functions that specifically address the ipad or iphone.

We can try disabling mouseover pause in touch devices to see if it fixes the problem (right click and 'Save As'):

4900

Use that version of the script. It also fixes other issues that might bear on this. The browser cache may need to be cleared and/or the page refreshed to see changes.

ddadmin
01-26-2013, 06:56 PM
Hi John:
Just curious, when you say:


It also fixes other issues that might bear on this.

What are those?

jscheuer1
01-26-2013, 07:27 PM
If the mouse is over the image when the page first loads, it might cause the first image to not load. I've seen this in IE and I think one other, not sure. So it's unlikely to happen on an iphone or pad, but might. Here's the full range of what's in my version:

http://www.dynamicdrive.com/forums/showthread.php?64385-UFade-loading-image-never-shows&p=260188#post260188

All I added to that code for this person was (to the routines a method of detecting touch screens):


istouch: !!window.Touch || !!window.onmsgesturechange || (window.DocumentTouch && window.document instanceof window.DocumentTouch)

And then using that, disabled the mouseover pause here (already modified as outlined in the notes for that post I just linked to, additional modifications red):


function loaded_or_error(){
$loadingimg.hide()
if(!fadeSlideShow.routines.istouch){
setting.$wrapperdiv.bind('mouseenter', function(){setting.ismouseover=true}) //pause slideshow mouseover
}
slideshow.showslide(setting.curimage)
}
if ($curimage.get(0).complete){loaded_or_error(); //accounf for IE firing image.onload too soon for cached and small images
} else { //initialize slideshow when first image has fully loaded or errors out
$(new Image()).bind('load error', loaded_or_error).attr('src', $curimage.attr('src'));
}

But, as I told them, I have no idea if it will do any good for their problem. Worth a try. I tend to imagine not. Don't those devices ignore javascript mouseover/out anyway? If so, the above change and the changes already for this version should do nothing for them. Always worth testing though. Perhaps if they also have code on the page that translates mouseover/out events to gestures, well then maybe we would have a fix here.