我有这个表达:
$('#animationNext,#animationPrev').bind('mousedown',function(){
$('.nInfoIE').show();
$('ul.roundabout-holder li').find('.iframe').css({'visibility':'hidden'});
$('ul.roundabout-holder li').find('.iframe').addClass('esconder');
// more code...
watching = false;
$('.nInfoIE').hide();
});
请注意我在问题中删除了许多表达。
情况是这在所有浏览器中都很好用,但是在IE6中需要执行10倍loge(我说的是7秒左右!)所以我试图在{1}处显示<div class="nInfoIE">
beggining(包含一个loding图像)并在最后隐藏它,
但它似乎都是在同一时间执行,因为我永远看不到nInfoIe的内容,
我怎样才能确定我之前会看到它,然后其余部分被执行?
-EDIT- html代码:
<ul class="roundabout-holder" style="padding: 0px; position: relative; z-index: 100;">
<li class="roundabout-moveable-item roundabout-in-focus" style=
"position: absolute; left: 157.2px; top: -0.8px; width: 240px; height: 160px; opacity: 1; z-index: 400; font-size: 16px;"
current-scale="1.0000">
<a href="#" title="video#1"><img src="http://img.youtube.com/vi/qZ9jpnMGkdA/0.jpg"
class="thumbImg"><img alt="video#1" class="playIcon" src=
"img/playIcon.png"><span class="titulo titThumb">video#1</span></a>
<div class="iframe esconder">
<iframe width="560" height="315" frameborder="0" allowfullscreen="" src=
"http://youtube.com/embed/qZ9jpnMGkdA"></iframe>
</div><span class="titulo titIframe">video#1</span>
</li>
<li class="roundabout-moveable-item" style=
"position: absolute; left: -58.8px; top: 23.2px; width: 168px; height: 112px; opacity: 0.7; z-index: 250; font-size: 11.2px;"
current-scale="0.7000">
<a href="#" title="video#2"><img src="http://img.youtube.com/vi/hurnoKLuBD8/0.jpg"
class="thumbImg"><img alt="video#2" class="playIcon" src=
"img/playIcon.png"><span class="titulo titThumb">video#2</span></a>
<div class="iframe esconder">
<iframe width="560" height="315" frameborder="0" allowfullscreen="" src=
"http://youtube.com/embed/hurnoKLuBD8"></iframe>
</div><span class="titulo titIframe">video#2</span>
</li>
<li class="roundabout-moveable-item" style=
"position: absolute; left: 229.2px; top: 47.2px; width: 96px; height: 64px; opacity: 0.4; z-index: 100; font-size: 6.4px;"
current-scale="0.4000">
<a href="#" title="video#3"><img src="http://img.youtube.com/vi/Lk_WoaLUPdA/0.jpg"
class="thumbImg"><img alt="video#3" class="playIcon" src=
"img/playIcon.png"><span class="titulo titThumb">video#3</span></a>
<div class="iframe esconder">
<iframe width="560" height="315" frameborder="0" allowfullscreen="" src=
"http://youtube.com/embed/Lk_WoaLUPdA"></iframe>
</div><span class="titulo titIframe">video#3</span>
</li>
<li class="roundabout-moveable-item" style=
"position: absolute; left: 445.2px; top: 23.2px; width: 168px; height: 112px; opacity: 0.7; z-index: 250; font-size: 11.2px;"
current-scale="0.7000">
<a href="#" title="video#4"><img src="http://img.youtube.com/vi/m5ykAFtQgQ0/0.jpg"
class="thumbImg"><img alt="video#4" class="playIcon" src=
"img/playIcon.png"><span class="titulo titThumb">video#4</span></a>
<div class="iframe esconder">
<iframe width="560" height="315" frameborder="0" allowfullscreen="" src=
"http://youtube.com/embed/m5ykAFtQgQ0"></iframe>
</div><span class="titulo titIframe">video#4</span>
</li>
</ul>
答案 0 :(得分:1)
我只能假设“更多代码”部分适用于一个或多个ajax请求。触发ajax请求后,即使尚未完成ajax请求,也会处理下一个表达式。您应该在ajax请求的完整事件中隐藏加载图像。
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
complete: function() { watching = false;
$('nInfoIE').hide(); }
});
如果有多个ajax请求会变得有点复杂,你必须嵌套它们或者使用某种ajax队列管理器。
答案 1 :(得分:0)
嗯,你提供了代码,但是我看不到任何带有类名“nInfoIE”的元素,这在这里有点相关。
但是,我注意到你的选择器:
$('nInfoIE').show();
由于您尝试按类名获取元素,因此必须指定“。”在它面前。它应该是
$('.nInfoIE').show();