jquery ui对话框 - 效果后淡入

时间:2013-02-28 23:08:31

标签: jquery jquery-ui jquery-ui-dialog jquery-effects

function infoBox(title,text){
    $('.infobox').dialog({
    open: function( event, ui ) {$('.infobox').append('<p style="display:none;>'+text+'</p>'); 
    },
    beforeClose: function( event, ui ) {$('.infobox p').remove(); 
    },
    show:'drop' ,
    position:'top',
    title:title,
});
};

有类似afteropen:选项吗?

或ui效果完成后让附加文本淡入的任何其他方式?

可能类似于:show:[{show:'drop', function(){$('.infobox p').fadeIn();}],

提前致谢

2 个答案:

答案 0 :(得分:2)

我想我明白你在找什么。只需使用.delay().fadeIn()

function infoBox(title,text){
        $('.infobox').dialog({
        open: function( event, ui ) {
            var p = $('<p style="display:none;">'+text+'</p>')
            $('.infobox').append(p);
            p.delay(1000).fadeIn(400);
        },
        beforeClose: function( event, ui ) {$('.infobox p').remove(); 
        },
        show:'drop' ,
        position:'top',
        title:title,
    });
}

DEMO:http://jsfiddle.net/dirtyd77/yTMwu/69/


编辑: 您也可以这样写:

$('.infobox').append('<p style="display:none;">'+text+'</p>').find('p').delay(1000).fadeIn(400);

样本: http://jsfiddle.net/dirtyd77/yTMwu/70/

答案 1 :(得分:1)

以下是一个工作示例:http://jsfiddle.net/5R49y/3/

<强> HTML:

<div class="infobox" title="dialog"></div>

JavaScript(jQuery / jQuery UI):

function infoBox(title, text) {
    $('.infobox').dialog({
        open: function (event, ui) {
            var p = $('<p/>').append(text).hide().fadeIn(2000)
            $('.infobox').append(p);

 },
        beforeClose: function (event, ui) {
            $('.infobox p').remove();
        },
        show: 'drop',
        position: 'top',
        title: title
    });
}

$(function(){
    infoBox('Title','Lorem ipsum');
});