3

语境

我使用 jQuery UI 效果 (slidedrop) 打开和关闭幻灯片。

以下代码适用于 Chrome、Firefox 和 IE 9。

在 IE 7 和 8 上,我只能打开和关闭幻灯片一次。幻灯片保持隐藏后。

有什么办法解决这个问题吗?

  • jQuery : 1.8.0/1.8.1
  • jQuery 用户界面:1.8.23

代码 + JSFiddle

// Opens a slide
$('a[data-toggle="slide"]').click(function (e) {
    e.preventDefault(); 

    currentSlide = $(this).attr('href');

    $(currentSlide).show('slide', { direction: 'right' }, _config.effectDuration);
    $('div.modal-backdrop').fadeIn(_config.effectDuration);
});

// Closes the current slide
$('div.modal-backdrop, button.close').click(function () {
    $(currentSlide).hide('drop', { direction: 'right' }, _config.effectDuration);
    $('div.modal-backdrop').fadeOut(_config.effectDuration);
});
4

2 回答 2

2

滑块的内联样式(第二次显示)在 IE8 中如下(来自 IE9 的兼容模式):

zoom: 1; filter:  alpha(opacity=0); display: block;

这意味着将不透明度设置为 0 的过滤器才是罪魁祸首。

于 2012-09-04T21:16:12.100 回答
1

在 Henrik Ammer 的帮助下,解决方案:

$(currentSlide)
    .show('slide', { direction: 'right' }, _config.effectDuration)
    .css({ '-ms-filter':'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)', 'filter':'alpha(opacity=100)'});
于 2012-09-04T21:50:02.237 回答