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

我已经更新了 jiddle 代码以反映新方法。(http://jsfiddle.net/elz64/UdmWx/2/)但是在 Jiddle 中没有任何功能。

我删除了“.lt-ie9”的条件注释和 css 目标来处理 FF 中的 Firebug。

以前的代码在 FF 中工作,但在 IE 中没有,我仍然不知道为什么。

一件可以肯定的事情:F12 控制台没有被 jQuery dom 操作(!?)刷新,所以它不会实时反映动作。

我猜有一些特定的 IE 问题,但也有一些工作的东西(如类操作)是控制台未实现的不可见原因!

由于附加的 div(一个小的 6x6 图标)有一些故障,我设法改变了定位等等。现在新代码在 IE 中也可以。

于 2012-07-06T08:35:50.213 回答
0

请检查此列表:

  • 您选择确保点击处理程序被触发。
  • 尝试使用$(this).parent()而不是$('#nomoreIE').
  • 检查poped类以确保存在。

这个问题可以通过这些案例来解决。

于 2012-07-05T17:29:53.907 回答