0
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();}],

? 提前致谢

4

2 回答 2

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,
    });
}

演示: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/

于 2013-02-28T23:25:14.180 回答
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');
});
于 2013-02-28T23:27:59.557 回答