【发布时间】:2011-01-06 06:19:01
【问题描述】:
我猜我误解了如何完成我通过 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,其中包含段落。当页面加载时,一些段落可能已经存在。我希望做的fadeIn是表单提交后任何新添加的段落淡入。
【问题讨论】:
-
为了安全起见,我建议您使用
$('<p>').text(data)来限制data格式错误并插入您不想要的内容的任何可能性。然而,两者都是可以接受的,而且真的只是个人意见。 -
@Brad Christie,我知道这即将到来 :),这就是为什么我提到我可以被说服 :)。我要睡在上面。我无法决定我更喜欢哪种方式。谢谢你让我思考,我相信这是件好事。
-
只是轻推。这取决于您是否感到舒适。 ;-)
-
@Brad Christie,是的。我可能不得不把它们都写在一张纸上,然后在我吃早餐的时候盯着它们看:D。我很欣赏你的建议,只是还不确定我是否会走那条路。非常感谢。
标签: jquery jqueryform