jackmoore / colorbox

A light-weight, customizable lightbox plugin for jQuery
http://www.jacklmoore.com/colorbox/
MIT License
4.75k stars 1.14k forks source link

Onload image issue with android browsers (some) #378

Open Madd0g opened 11 years ago

Madd0g commented 11 years ago

I'm a really new user, recently integrated the latest version with success. I went to test today with my tablet, using dolphin browser, noticed that the "loading" animation doesn't disappear (I'm using colorbox with images).

Anyone experienced that?

I've later tested with the other browsers I have on the tablet -

Works - Opera, Firefox Doesn't work - Android browser, Dolphin

There's a thing which you can do with a touch device, which is sort of like a mouse hover... (you touch and hold your finger to the screen, but move your finger right before the context menu appears) - that causes the loading animation to disappear and the image to appear, so I'm thinking it's some kind of redraw issue that happens in android's webkit.

Thanks

zunou commented 11 years ago

Same issue. colorBox v1.4.21 - 2013-06-06, Android 4.0.3 stock browser. Actually the issue appears rarely - http://jsbin.com/iliwoy/1/ But in my project we use jquery.animate-enhanced plugin and issue can be seen more often - http://jsbin.com/ebired/3/

this patch can help (version 1.3.23):

line:739

complete = function () {
    clearTimeout(loadingTimer);
    $loadingOverlay.detach().hide();
    trigger(event_complete, settings.onComplete);
};

line:882

loadingTimer = setTimeout(function () {
    $loadingOverlay.show().appendTo($content);
}, 100);

or this workaround (onComplete):

$.colorbox({
    title: "title",
    href: url,
    photo: true,
    scrolling: false,
    maxWith: "90%",
    maxHeight: "90%",
    initialWidth: 300,
    initialHeight: 183,
    onComplete: function() {
        $("#cboxLoadingOverlay").hide();
    }
});