fadeIn作为fadeOut之后的回调函数没有按预期工作
fadeIn as callback function after fadeOut doenst work as expected
在我的HTML中,一个#navInnerMapR和一个#navInnerMapL包含在div#navTwo中。
以下代码在一个函数中。调用时,我需要函数fadeOutdiv#navTwo中的任何可见链接,暂停片刻,然后在#navInnerMapR中fadeIn。
$('div#navTwo a').fadeOut(200, function() {
$('a#navInnerMapR').delay(100).fadeIn(200);
});
代码会淡出链接,但不会淡入任何内容。我原以为只有在fadeOut完成后才会开始延迟,但将延迟值更改为1000有时会起作用,但它非常有缺陷。感谢
UPDATE这里有一个小提琴,显示隐藏的链接在可见链接被隐藏之前开始显示:http://jsfiddle.net/jamesbrighton/d9QKr/5/
抱歉,我的问题没有包括我需要实现的全部细节。我简化了它,因为我认为我只是有一些sytax问题,可以很容易地解决。
div#navTwo实际上包含3个链接。在任何点(除了动画运行之前的延迟),只有一个链接可见。我需要能够调用一个函数,该函数将隐藏正在显示的其他2个链接中的任何一个,然后显示#navInnerMapR。
不同的事件将调用此函数,因此两个没有#navInnerMapR的链接中的任何一个都可能可见。感谢
更新我认为这个小提琴说明了这个问题。我创建了两个div.nav来说明不同的状态。我用内联CSS在每个链接中隐藏了不同的链接。JavaScript将重复显示和隐藏我的div中的链接,因此同一个div在不同的时间看起来像每个示例。
我创建了两个触发器来说明不同的事件需要调用该函数。当你点击一个触发器时,你可以看到两个例子中的问题。在显示a.one之前,可见的div不会被隐藏。谢谢你的耐心!
http://jsfiddle.net/jamesbrighton/dYvMS/24/
有趣的是,如果我更改$('.nav a.one').fadeIn(1000);警报会多次触发!不知道为什么会这样!
编辑:根据您的以下评论更新答案,
是的,这是我需要的,但我不确定它是否适用于我的实际情况页很抱歉我的问题不够详细。代码我举的例子被简化了。在实际页面中,有3个链接在div#navTwo中,任何时候都只能看到其中一个。我需要能够调用一个隐藏任何链接并显示具体的一个,但div#navTwo中的其他2个链接中的任何一个都可能是看得见的感谢
演示
HTML:为navTwo 内的所有链接添加类
<div id="navTwo">
<a href="#" id="navInnerMapR" class="links">Right</a>
<a href="#" id="navInnerMapL" class="links">Left</a>
<a href="#" id="navInnerMapM" class="links">Middle</a>
<a href="#" id="navInnerMapU" class="links">Upper</a>
<a href="#" id="navInnerMapLW" class="links">Lower</a>
</div>
JS:
$('.links').click(function() {
showHide($(this));
});
function showHide($this) {
$this.fadeOut(1000, function() {
$('#navTwo a').not($this).delay(1000).fadeIn(1000);
});
}
我想我明白你需要什么。试试下面的演示,让我知道如果这是你想要的,
演示
$('#navInnerMapR').click(function() {
runMeR($(this));
});
$('#navInnerMapL').click(function() {
runMeL($(this));
});
function runMeR($this) {
$this.fadeOut(1000, function() {
$('a#navInnerMapL').delay(1000).fadeIn(1000);
});
}
function runMeL($this) {
$this.fadeOut(1000, function() {
$('a#navInnerMapR').delay(1000).fadeIn(1000);
});
}
正如您所说,您需要函数fadeOutdiv#navTwo中的任何可见链接,暂停片刻,然后在#navInnerMapR中fadeI(不是其他链接,只有#navInerMapR)。
$('#navTwo a').click(function(e) {
$(this).parent().children().each(function(i){
$(this).fadeOut('slow', function(){
$('a#navInnerMapR').delay(1000).fadeIn(1000);
});
});
});
小提琴在这儿。
- 咖啡的Javascript订单总数无法使函数正常工作.请协助
- removeClass函数没有'工作不正常
- 你能解释一下这个阶乘函数是如何工作的吗?
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- jQuery加载的async和ready函数不工作
- 更改智能表中的页面将停止JQuery函数的工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- jQuery函数不能只在一个页面上工作
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 从js引擎的角度来看闭包和构造函数是如何工作的
- appendChild在函数外部工作,但在函数内部不工作
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 由于某种原因,我的JavaScript函数无法工作
- 为什么递归生成器函数没有't在ES2015工作
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 从控制台中的工作函数转换为工作脚本.(请参阅编辑)
- Angular JS-工作函数中的“错误:[$interpole:interr]Can't interpole:
- 简化工作函数以替换特定单词
- 为什么不在回调中工作函数?
- InnerHTML不工作:函数未定义