Binary files views_slideshow~/.DS_Store and views_slideshow/.DS_Store differ diff -upr views_slideshow~/css/views_slideshow.css views_slideshow/css/views_slideshow.css --- views_slideshow~/css/views_slideshow.css 2009-04-19 12:03:02.000000000 -0700 +++ views_slideshow/css/views_slideshow.css 2009-04-19 11:55:13.000000000 -0700 @@ -2,5 +2,18 @@ .views_slideshow_no_display, .views_slideshow_hidden { - display: none; + filter: alpha(opacity=0); + -moz-opacity:0; + -khtml-opacity: 0; + opacity: 0; } + +.views_slideshow_slide, +.views_slideshow_hidden { + position: absolute; +} + +/* Override this to match your theme if necessary. Provides a better crossfade for text. */ +.views_slideshow_main div { + background-color: #FFFFFE; +} \ No newline at end of file diff -upr views_slideshow~/js/views_slideshow.js views_slideshow/js/views_slideshow.js --- views_slideshow~/js/views_slideshow.js 2009-04-19 12:03:02.000000000 -0700 +++ views_slideshow/js/views_slideshow.js 2009-04-19 11:53:05.000000000 -0700 @@ -1,5 +1,8 @@ // $Id: views_slideshow.js,v 1.2 2008/09/30 20:10:22 aaron Exp $ +// this is needed for IE to register the starting opacity setting and fade correctly +$(".views_slideshow_no_display, .views_slideshow_hidden").fadeTo(1,0); + // store the timer and current div data slideshow_data = new Array(); @@ -46,15 +49,8 @@ function views_slideshow_switch(slidesho // turn off our timer views_slideshow_timer(slideshow_main, false); - // check to see if we fade or not - if (slideshow_data[slideshow_main]._fade) { - // fade out -- at the end, switch to the next slide in the slideshow - $(_main_div).fadeTo(slideshow_data[slideshow_main]._fade_speed, slideshow_data[slideshow_main]._fade_value, function() { views_slideshow_set_div(slideshow_main, new_div); }); - } - else { - // if we don't have a fade, then just switch without fading - views_slideshow_set_div(slideshow_main, new_div); - } + // switch slides + views_slideshow_set_div(slideshow_main, new_div); } // set the main div html to the new node @@ -80,29 +76,39 @@ function views_slideshow_set_div(slidesh // get the div with the html we need _new_div = "#views_slideshow_div_" + slideshow_main + "_" + new_div_number; - // set the html of the new div - // $(_main_div).html($(_new_div).html()); -// $(_old_breakout).removeClass('views_slideshow_active_teaser'); -// $(_new_breakout).addClass('views_slideshow_active_teaser'); - - $(_old_breakout).hide(); - $(_new_breakout).show(); - - _old_breakout = "#views_slideshow_div_breakout_teaser_" + slideshow_main + "_" + slideshow_data[slideshow_main]._current_div; - _new_breakout = "#views_slideshow_div_breakout_teaser_" + slideshow_main + "_" + new_div_number; - $(_old_breakout).removeClass('views_slideshow_active_teaser'); - $(_new_breakout).addClass('views_slideshow_active_teaser'); - - // set the current_div number to the new node - slideshow_data[slideshow_main]._current_div = new_div_number; - // check to see if we fade or not if (slideshow_data[slideshow_main]._fade) { - // fade in -- at the end, turn on our timer - $(_main_div).fadeTo(slideshow_data[slideshow_main]._fade_speed, 1, function() { views_slideshow_timer(slideshow_main, true); }); + // cross fade in new slide + $(_new_breakout).fadeTo(slideshow_data[slideshow_main]._fade_speed, 1, function() { + // cross fade out old slide + $(_old_breakout).fadeTo(slideshow_data[slideshow_main]._fade_speed, 0, function() { + _old_breakout = "#views_slideshow_div_breakout_teaser_" + slideshow_main + "_" + slideshow_data[slideshow_main]._current_div; + _new_breakout = "#views_slideshow_div_breakout_teaser_" + slideshow_main + "_" + new_div_number; + $(_old_breakout).removeClass('views_slideshow_active_teaser'); + $(_new_breakout).addClass('views_slideshow_active_teaser'); + + // set the current_div number to the new node + slideshow_data[slideshow_main]._current_div = new_div_number; + + // turn on our timer + views_slideshow_timer(slideshow_main, true); + }); + }); } else { - // if we don't have a fade, then just turn on our timer without fading + // cross fade in new slide + $(_new_breakout).show(); + // cross fade out old slide + $(_old_breakout).hide(); + _old_breakout = "#views_slideshow_div_breakout_teaser_" + slideshow_main + "_" + slideshow_data[slideshow_main]._current_div; + _new_breakout = "#views_slideshow_div_breakout_teaser_" + slideshow_main + "_" + new_div_number; + $(_old_breakout).removeClass('views_slideshow_active_teaser'); + $(_new_breakout).addClass('views_slideshow_active_teaser'); + + // set the current_div number to the new node + slideshow_data[slideshow_main]._current_div = new_div_number; + + // turn on our timer views_slideshow_timer(slideshow_main, true); } } diff -upr views_slideshow~/views_slideshow.theme.inc views_slideshow/views_slideshow.theme.inc --- views_slideshow~/views_slideshow.theme.inc 2009-04-19 12:03:02.000000000 -0700 +++ views_slideshow/views_slideshow.theme.inc 2009-04-19 12:00:26.000000000 -0700 @@ -85,7 +85,7 @@ function theme_views_slideshow_no_displa * The html that will be placed into the element in its turn during its frame. */ function theme_views_slideshow_no_display_teaser($item, $id, $count) { - $hidden = $count ? 'class="views_slideshow_hidden"' : ''; + $hidden = $count ? 'class="views_slideshow_hidden"' : 'class="views_slideshow_slide"'; $output = '