2013-03-06 3 views
-1

Часть кода не выполняется. Анимация, чтобы открыть коробку, отлично работает. но анимация для закрытия не работает. Что не так?onclick не выполняется.

$('#basic-modal .basic').click(function (e) { 
    $("#basic-modal-content").modal({onOpen: function (dialog) { 
     dialog.overlay.fadeIn('slow', function() { 
      dialog.data.hide(); 
      dialog.container.fadeIn('slow', function() { 
       dialog.data.slideDown('slow'); 
      }); 
     }); 
    }}); 

    $("#basic-modal-content").modal({onClose: function (dialog) { 
     dialog.data.fadeOut('slow', function() { 
      dialog.container.hide('slow', function() { 
      dialog.overlay.slideUp('slow', function() { 
       $.modal.close(); 
      return false; 
     }); 
    }); 
}); 

}});

+2

'modal' не является предметом jQuery. Какие другие библиотеки вы используете? –

+1

Кроме того, показывая, что ваш HTML-код может помочь решить проблему. –

+0

Привет, это часть плагина, найденного в Интернете. Я хотел добавить анимацию к этому скрипту. Никакие другие библиотеки не использовались. Ответ N Rohler отлично работает, за исключением некоторых скобок. Мне удалось это исправить. Смотрите мой последний пост для рабочего кода. Благодарю всех. –

ответ

0

Объединить onOpen и onClose свойства в той же modal() инициализации вызова:

$('#basic-modal .basic').click(function (e) { 
    $("#basic-modal-content").modal({onOpen: function (dialog) { 
     dialog.overlay.fadeIn('slow', function() { 
      dialog.data.hide(); 
      dialog.container.fadeIn('slow', function() { 
       dialog.data.slideDown('slow'); 
      }); 
     }); 
    }, 
    onClose: function (dialog) { 
     dialog.data.fadeOut('slow', function() { 
      dialog.container.hide('slow', function() { 
      dialog.overlay.slideUp('slow', function() { 
       $.modal.close(); 
      return false; 
     }); 
    }}); 
}); 

Edit: Как уже упоминалось, я стреляю в темноте, так как мы даже не знаем, что сценарий вас использование.

+0

Привет, спасибо за ваше решение. В вашем коде отсутствуют скобки, поэтому он сразу не работает. полный рабочий код здесь: –

0

Небольшая проблема в ответе. Для кого-то, кто может его использовать, это полный код:

jQuery(function ($) { 
$('#basic-modal .basic').click(function (e) { 
$("#basic-modal-content").modal({onOpen: function (dialog) { 
    dialog.overlay.fadeIn('slow', function() { 
     dialog.data.hide(); 
     dialog.container.fadeIn('slow', function() { 
      dialog.data.slideDown('slow'); 
     }); 
    }); 
}, 
    onClose: function (dialog) { 
     dialog.data.fadeOut('slow', function() { 
      dialog.container.hide('slow', function() { 
      dialog.overlay.slideUp('slow', function() { 
      $.modal.close(); 
      return false; 
     }); 
    }); 
}); 
}});  
Смежные вопросы