diff --git a/js/field_slideshow.js b/js/field_slideshow.js index a8992b01546d1a85a2fa39b10dde3354797750bd..867a610bf8d522d25953e8edf863b9f46fc19032 100644 --- a/js/field_slideshow.js +++ b/js/field_slideshow.js @@ -6,8 +6,20 @@ var settings = Drupal.settings.field_slideshow[i]; var slideshow = $('.' + i); - // Add Caption height if exists - if (settings.caption != '') slideshow.css("padding-bottom", ($("." + i + " .field-slideshow-caption").outerHeight() + parseInt($("." + i + " .field-slideshow-slide img").css("margin-bottom"))) + "px"); + // Add padding if needed + var padding = [0, 0, 0, 0]; + var props = ['margin-top', 'margin-right', 'margin-bottom', 'margin-left', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width']; + $('.field-slideshow-slide:first,.field-slideshow-slide a:first,.field-slideshow-slide img:first').each(function() { + $this = $(this); + for (p in props) padding[p%4] += parseInt($this.css(props[p])); + }); + if (settings.caption != '') padding[2] += $("." + i + " .field-slideshow-caption").outerHeight(); + slideshow.css({ + 'padding-top': padding[0] + 'px', + 'padding-right': padding[1] + 'px', + 'padding-bottom': padding[2] + 'px', + 'padding-left': padding[3] + 'px' + }); // Create Pager wrapper if (settings.pager != '') slideshow.after("<" + (settings.pager == 'image' ? 'ul' : 'div') + " id='" + i + "-pager' class='field-slideshow-pager'/>");