該課程提供的源碼里有用jquery寫的方案,有一段不理解,望有人解惑
function animate (offset) {
? ? ? ? ? ? ? ? var left = parseInt(list.css('left')) + offset;
? ? ? ? ? ? ? ? if (offset>0) {
? ? ? ? ? ? ? ? ? ? offset = '+=' + offset;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else {
? ? ? ? ? ? ? ? ? ? offset = '-=' + Math.abs(offset);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? list.animate({'left': offset}, 300, function () {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(left > -200){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? list.css('left', -600 * len);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(left < (-600 * len)) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? list.css('left', -600);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? );
? ? ? ? ?}
2018-02-12
先解釋這兩行代碼:
在JavaScript里面,字符串+數字=字符串,( ?? ω ?? )
一開始,該函數接收到的offset為一個值,+600或-600,
這里的if…else…就是讓offset變成字符串“+=600”或“-=600”
為什么呢?
↑ 說白了就是語法要求。
最后的兩個if判斷不用多說吧,就是把圖片歸位,因為一共有七張圖,其中第一張和最后一張都是假圖,
當掃到第一張“假圖”時歸位成圖⑤(第六張),當掃到最后一張“假圖”時歸位成圖①(第二張)。