第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

while()卡死了

while()卡死了

慕先生4543078 2017-08-04 17:03:39
我在寫一個類似輪播的組件,一個容器中圖片放大到一個值后換一個圖片,繼續(xù)放大,重復這個過程用了requireJS<script?src="https://cdn.bootcss.com/require.js/2.3.4/require.js"?data-main="js/main"></script> <div?id="cover"> ????<div?id="imgBox"> ????????<img?src="images/6979b974a51a5fa66c22db8fa9feff5c.jpg"> ????</div> </div>main.jsrequire(["./config"],?function(){ ????require(["jquery"],?function($){ ????????require(["./carousel"],?function(autoPlay){ ????????????var?img?=?$("img"); ????????????autoPlay(img); ????????}) ????}); });carousel.jsdefine(function(){ ????var?pathArr?=?[ ????????"images/0fad76a6669a0bc9dcac0f2bbcfac612.jpg", ????????"images/6b44f9a15afb4b64a381595223cbd436.jpg", ????????"images/6979b974a51a5fa66c22db8fa9feff5c.jpg", ????????"images/e74b72fe6e3b58511faf41d89bc2ce38.jpg" ????]; ????var?autoPlay?=?function(img){ ????????var?imgOriginWidth?=?img.width(); ????????var?imgFinalWidth?=?imgOriginWidth?+?100; ????????var?imgOriginHeight?=?img.height(); ????????//?等比縮放 ????????var?imgFinalHeight?=?(imgFinalWidth?*?imgOriginHeight)/imgOriginWidth; ????????var?i?=?4; ????????var?counter?=?0; ????????//?while(counter?<?i){ ????????????if(img.width()?<?imgFinalWidth){ ????????????????img.stop().animate({ ????????????????????width:?"+=100px", ????????????????????height:?"+="?+?(imgFinalHeight?-?imgOriginHeight)?+?"px", ????????????????????left:?"-=50px", ????????????????????top:?"-=50px" ????????????????},?1000,?function(){ ????????????????????currentIndex?=?pathArr.indexOf(img.attr("src")); ????????????????????img.attr("src",?pathArr[currentIndex?+?1]); ????????????????????img.css({ ????????????????????????width:?imgOriginWidth?+?"px", ????????????????????????height:?imgOriginHeight?+?"px", ????????????????????????left:?"0px", ????????????????????????top:?"0px" ????????????????????}); ????????????????????counter++; ????????????????????console.log("執(zhí)行"); ????????????????}); ????????????} ????????//} ????} ????return?autoPlay; })我在回調(diào)函數(shù)中遞增了計數(shù)器啊,為什么還會卡死。
查看完整描述

1 回答

?
__innocence

TA貢獻313條經(jīng)驗 獲得超208個贊

我沒有看你的邏輯,但是counter++;應該是寫在if的外面。

如果程序沒有進if里面,就死循環(huán)了

查看完整回答
1 反對 回復 2017-08-04
  • 慕先生4543078
    慕先生4543078
    如果是作用域的問題,counter會一直向外查找,改變的是while循環(huán)外的counter。 而每次循環(huán)計數(shù)器都自增,怎么會死循環(huán)呢? 回調(diào)函數(shù)每次在animate()完成后執(zhí)行,counter的確自增成功了啊。
  • __innocence
    __innocence
    if img.width() < imgFinalWidth, 如果這個條件不成立,程序就沒有執(zhí)行if里面的東西,包括count++這一句,這樣繼續(xù)循環(huán),就變成了死循環(huán)
  • 慕先生4543078
    慕先生4543078
    那也應該有4次打印輸出,現(xiàn)在一次輸出都沒,直接卡死。
  • 1 回答
  • 0 關(guān)注
  • 2858 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號