2010-09-14 2 views
0

У меня проблема с импровизацией и экземплярами. У меня есть два примера импровизации, поэтому, когда я звоню, чтобы закрыть первое, другое закрывается.Экспромт и экземпляры

Есть ли способ сказать, чтобы закрыть один, а другой?

ответ

0

Итак, я предполагаю, что вы используете jQuery.prompt.close()?

Я никогда не пользовался импровизацией, но мне кажется, что он не предназначен для поддержки нескольких экземпляров, открытых одновременно. Вы можете сказать, посмотрев на источник.

http://trentrichardson.com/Impromptu/scripts/jquery-impromptu.3.1.js

Лично я предлагаю вам перейти к более быстрой разработанной системе, но если вы действительно хотите продолжать использовать, что вам придется закрыть их вручную. Это внутренняя структура .close() вызов

$('#'+ $.prompt.currentPrefix +'box').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 

Где currentPrefix равно:

$.prompt('test', { prefix: 'the_prefix' }); 
$.prompt('test', { prefix: 'the_prefix2' }); 

Так что если вы хотите сохранить два экземпляра отдельно, вы просто должны использовать два отдельных префиксов и их вручную закрыть им нравится:

$('#the_prefixbox').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 
$('#the_prefix2box').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 
+0

У вас есть рекомендация для лучшей системы подсказок? Мне нравится чистый вид Экспромт. – ericso

0

Я попытался решение BBonifield по выше, но он не работает для меня. Возможно, я делал это неправильно. Моя ситуация требовала, чтобы я просто закрыл все приглашения в настоящее время, чтобы я мог отобразить следующий. Для этого я использовал следующую строку:

$(".jqibox").remove(); 

Это немедленно уничтожит текущее приглашение.

0

http://trentrichardson.com/Impromptu/

Экспромт 4,2

Я попытался код, поставляемый BBonifield и я до сих пор не получал желаемого результата. Либо оба приглашения закрываются, либо первое приглашение не закрывается (в зависимости от порядка выполнения). Проблема была по-прежнему префиксом, как было предложено ранее, но селектор ID не работал. Мне пришлось использовать класс.

$('.the_prefixbox').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 
$('.the_prefix2box').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 

Кроме того, если вы используете префикс, отличный от значения по умолчанию вам нужно заменить все экземпляры «JQI» с префиксом в Jquery-impromptu.css.

Смежные вопросы