0

チェーンされた一連のメソッドを機能させることができません。

目標は、正しく機能しているダイアログ パネルを非表示にしてから、#nomoreIEdiv のクラスを変更することです。

.addClass('masked').removeClass('poped')エラーや成功を示すことなく、メソッドをチェーンするために多くの組み合わせを試しました。

さらに、必要に応じてダイアログを再度開く機能を提供したいと考えています。これは、append() メソッドの意図です。

$('.lt-ie9 #nomoreIE a.ui-dialog-titlebar-close').live('click', function(e4){

    $('#nomoreIE').addClass('masked').removeClass('poped').animate({
    left: '-148px' }, {
        duration: '80',
        easing: 'easeInExpo'
    }).append('<div id="alert-ie"></div>');

    return false;

});

どんな助けでも大歓迎

ありがとうございました

「DarkKing」に答えるコードの完全なリストは次のとおりです。

    // --------------- ienomore ------------------------------
// faire apparaitre au chargement
$('.lt-ie9 #nomoreIE').css({right: '-140px'}).delay(2000).animate({
       left: '0' }, {
                     duration: '80',
                      easing: 'easeOutBounce'
                     }).removeClass('masked').addClass('poped');


// gestion du close
$('.lt-ie9 #nomoreIE a.ui-dialog-titlebar-close').live('click', function(e3){

    $('#nomoreIE').addClass('masked').removeClass('poped').animate({
       left: '-148px' }, {
                     duration: '80',
                      easing: 'easeInExpo'
                     }).append('<div id="alert-ie"></div>');

return false;

});

//gestion du open
$('.lt-ie9 #nomoreIE #alert-ie').live('click', function(e4){
    $('#nomoreIE').remove('#alert-ie').animate({
       left: '0' }, {
                     duration: '80',
                      easing: 'easeOutBounce'
                     }).removeClass('masked').addClass('poped');

});
4

2 に答える 2

0

新しいアプローチを反映するためにジドル コードを更新しました ( http://jsfiddle.net/elz64/UdmWx/2/ )。

FF の Firebug に対処するために、「.lt-ie9」の条件付きコメントと css ターゲットを削除しました。

以前のコードは FF で動作していましたが、IE では動作していませんでした。その理由はまだわかりません。

1 つ確かなことは、F12 コンソールは jQuery dom 操作 (!?) によって更新されないため、アクションがリアルタイムで反映されないことです。

特定のIEの問題があったと思いますが、実際には実現されなかったコンソールの目に見えない原因(クラス操作など)もいくつかありました。

追加された div (小さな 6x6 アイコン) に不具合があったため、配置などを変更することができました。これで、新しいコードは IE でも問題ありません。

于 2012-07-06T08:35:50.213 に答える
0

このリストを確認してください:

  • クリック ハンドラーが確実に起動されるようにするための選択。
  • $(this).parent()の代わりに使ってみてください$('#nomoreIE')
  • popedクラスが存在することを確認してください。

この問題は、これらのケースで解決できます。

于 2012-07-05T17:29:53.907 に答える