我猜我错误地理解了如何通过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,里面有段落。当页面加载时,某些段落可能已存在。我希望做的淡入淡出是在表单提交后淡入的任何新添加的段落。
答案 0 :(得分:1)
你非常接近。你需要先.hide()
,但你淡出错误的东西!
jQuery("<p>"+data+"</p>").appendTo('#aThankYouTarget').hide().fadeIn(1000);
注意:切换顺序,以便<p>
成为主要对象。 .hide()
和.fadeIn()
现在都会在<{1}}上运行,在附加后