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();}],
?提前致谢
答案 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);
答案 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');
});