JQuery 淡入淡出按钮不起作用
JQuery FadeIn FadeOut Button Not Working
>我有一个带有保存按钮的表单。单击保存按钮时,它会运行 ajax 来保存表单内容。这行得通。我遇到的问题是保存按钮淡入淡出。保存按钮的文本是"另存为草稿"。单击时,我希望它淡出,将文本更改为"草稿在 [时间] 保存",然后淡入以显示它已保存以及保存的时间。几秒钟后,我希望该按钮消息淡出并替换为原始的"另存为草稿"按钮。
我想我必须将淡入淡出嵌套到函数中,但我的 jquery 淡入淡出天赋很少,并且迅速淡入:)
以下是阿贾克斯的成功部分....
success: function(data) {
var date = new Date(),
hours = date.getHours(),
minutes = date.getMinutes();
if (hours > 12) hours = hours - 12;
if (minutes < 10) minutes = '0' + minutes;
var save_draft = '<div id="save-button" class="button-clone">Save as Draft</div>';
var draft_saved = '<div id="save-button" class="button-clone">Draft Saved at ' + hours + ':' + minutes + '</div>';
$('#save-button').fadeOut(1000);
$('#save-button').replaceWith(draft_saved);
$('#save-button').fadeIn(1000);
$('#save-button').fadeOut(1000);
$('#save-button').replaceWith(save_draft);
$('#save-button').fadeIn(1000);
}
由于每个动画都是异步的,因此您需要在回调函数中调用任何其他方法。
编辑
抱歉,它不起作用。也用fadeIn
调整:
$('#save-button').fadeOut("slow", function() {
$('#save-button').replaceWith(draft_saved);
$('#save-button').hide().fadeIn(1000, function() {
$('#save-button').fadeOut(1000, function() {
$('#save-button').replaceWith(save_draft);
$('#save-button').hide().fadeIn(1000);
});
});
});
让我解释一下为什么需要这个hide()
:
当你fadeOut
某个元素时,jQuery会display: none
直接放到那个HTML中。但是您正在用另一个 HTML 替换(通过replaceWith()
方法)。但fadeIn()
只会淡化隐藏的元素。因此,我们需要隐藏新的 HTML,然后发生fadeIn()
。
你是对的。你需要嵌套。试试这样的事情...
var date = new Date(),
hours = date.getHours(),
minutes = date.getMinutes();
if (hours > 12) hours = hours - 12;
if (minutes < 10) minutes = '0' + minutes;
var save_draft = '<div id="save-button" class="button-clone">Save as Draft</div>';
var draft_saved = '<div id="save-button" class="button-clone">Draft Saved at ' + hours + ':' + minutes + '</div>';
$('body').append(save_draft).;
$('#save-button').fadeOut(1000,function(){
$('#save-button').replaceWith(draft_saved);
$('#save-button').fadeIn(1000,function(){
$('#save-button').fadeOut(1000, function(){
$('#save-button').replaceWith(save_draft);
$('#save-button').fadeIn(1000);
});
});
});
你应该这样做:
$('#save-button').fadeOut(1000, function(){
$('#save-button').replaceWith(draft_saved, function(){
$('#save-button').fadeIn(1000, function(){
$('#save-button').fadeOut(1000, function(){
$('#save-button').fadeIn(1000);
}););}););}););});
我没有缩进代码,所以它看起来不会乱七八糟希望这有帮助。干杯
相关文章:
- 点击按钮输入不起作用
- Js.erb VS按钮标记-不'不起作用.为什么?
- 按钮字段确认点击不'不起作用
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- ng disabled在chrome中不起作用.按钮在角度上未禁用
- JS动态添加字段-删除按钮不起作用
- 角度无线电按钮ng模型不起作用
- 当我通过.aspx.cs创建按钮时,它不起作用
- 一键启动按钮不起作用
- 带有向下钻取的 Amchart 图表工作正常,但“后退”按钮不起作用
- 为什么不'这个HTML按钮不起作用
- 使用javascript后,提交按钮不起作用
- 表单中的提交按钮在 PHP 打印中不起作用
- 镀铬延长件内部的聚合物纸按钮不起作用
- 我的提交按钮不起作用
- 搜索按钮谷歌地图在我的vf页面上不起作用
- AngularJs:多次点击同一个按钮不起作用
- 我尝试将引导下拉按钮添加到 但下拉菜单不起作用.我该怎么做
- visualforce页面javascript按钮点击不起作用
- 单击功能不起作用按钮