3

コンテクスト

スライドを開いたり閉じたりするには、 jQuery UIエフェクト(slideおよび)を使用します。drop

次のコードは、Chrome、Firefox、IE9で動作します。

IE 7および8では、スライドを一度だけ開閉できます。スライドが非表示のままになった後。

それを解決するためのアイデアはありますか?

  • jQuery:1.8.0/1.8.1
  • jQuery UI: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

スライダーのインライン スタイル (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 に答える