1

我猜我误解了如何完成我通过 jquery.form.js 添加的元素的fadeIn(),但是在尝试了我在其他帖子上找到的东西之后,我一无所获。我还在学习 jQuery 和 javascript,所以我的错误可能很简单。

我的 jquery.form.js ajaxForm 成功中有以下代码行

jQuery('#aThankYouTarget').append(jQuery("<p>"+data+"</p>")).fadeIn(1000);

我已经尝试过这条线的变化,似乎看不到褪色的结果。我的数据完全按预期出现,只是缺少淡入淡出。我也尝试过像下面那样放置一个 hide() ,但是当我这样做时,隐藏似乎有效,但 fadeIn 也从未发生在那里。

jQuery('#aThankYouTarget').append(jQuery("<p>"+data+"</p>").hide()).fadeIn(1000);

同样正如这里另一个问题所建议的那样,我尝试了如下数据。我认为无论如何我使用的是“文本”,因为我早就忘记了那个人在它不起作用时的建议。

jQuery('#aThankYouTarget').append(jQuery("<p></p>").text(data.content).hide()).fadeIn(1000);

我真的更喜欢与我的第一个示例类似的东西,因为它使 javascript 的段落部分看起来最像 html,我觉得它更容易阅读,但是如果有人想说服我创建元素,并在其中添加文本我可能会被说服。主要的是我找到了如何让 fadeIn() 工作。

谢谢你。

编辑:#aThankYouTarget 是一个 div,里面有段落。当页面加载时,一些段落可能已经存在。我希望做的淡入淡出是表单提交后任何新添加的段落淡入。

4

1 回答 1

1

你非常接近。你确实需要.hide()先,但你正在淡出错误的东西!

jQuery("<p>"+data+"</p>").appendTo('#aThankYouTarget').hide().fadeIn(1000);

注意:切换顺序,使<p>成为主要对象。.hide()并且.fadeIn()现在都将在附加<p>对,进行操作。

于 2011-01-06T06:21:52.303 回答