這是稍微涉及到這個問題 Invoking a jQuery function after .each() has completed消防功能()已完成
但解決方案並不完全似乎爲我工作。
基本上我有一塊的JavaScript的計算,一些元件的寬度:
$element.width(totalWidth);
如果我附上:
var totalWidth = 0;
$element.find('li').each(function() {
totalWidth += $(this).width();
});
此欲再使用的寬度來設置另一元件後它的調試工作,但如果我只是運行它不。這使我認爲在.each()
完成之前寬度已被設置。
我試着用.promise()
來解決這個問題,但它似乎沒有什麼區別。
var totalWidth = 0;
$element.find('li').each(function() {
totalWidth += $(this).width();
});
$element.promise().done(function() {
$element.width(totalWidth);
});
這裏是我的HTML
<div class="carousel">
<ul>
<li>
<img src="/Images/Travel2New/Adverts/advertHolder_1.png" />
</li>
<li>
<img src="/Images/Travel2New/Adverts/advertHolder_2.png" />
</li>
<li>
<img src="/Images/Travel2New/Adverts/advertHolder_3.png" />
</li>
<li>
<img src="/Images/Travel2New/Adverts/advertHolder_4.png" />
</li>
<li>
<img src="/Images/Travel2New/Adverts/advertHolder_5.png" />
</li>
</ul>
</div>
任何想法?
的load()事件deprecated.So不建議 – StaticVariable
@jhonraymos確定。任何想法如何取代它? – VisioN
http://blog.gabrieleromanato.com/2012/10/jquery-the-load-event-has-been-deprecated-now-what/ – chridam