對這段代碼還不理解,求介紹解釋
//點擊圓點切換圖片 for(var?i?=?0;?i?<?btn.length;?i++){ btn[i].onclick?=?function(){ //獲取當前點擊的index值 var?myIndex?=?parseInt(this.getAttribute('index')); var?offset?=?-600?*?(myIndex?-?index); animate(offset); index?=?myIndex; showButton(); } }
在計算點擊圓點的偏移量這里,很不了解是怎么計算的。
var myIndex = parseInt(this.getAttribute('index'));
//這一段是或缺點擊的圓點當前index的值
var offset = -600 * (myIndex - index);
//這一段就不懂了,一開始定義了 index=1,如果我點擊第二個圓點,那么myIndex=2,算出來就是 ?offset = -600 * (2-1) ?,, ? offset = -600;;這樣的話,不就是跳到第一張圖,但是運行了就沒問題,是我哪里理解錯了,求大神幫忙解釋一下。。
2017-07-10
offset是傳到animate里面的參數,不是最終left的值。將現在offset=-600傳到animate之后,animate這個函數還要在加-600,最終變成-1200,也就是第二張圖
2017-08-12
這里的index和上面的var index=1;不是同一個index;
this.getAttribute('index')是取到當前節點的index這個自定義屬性的值
2017-07-10
結合animate函數看一下,還有你在animate(offset)這個代碼處加個斷點,調試。看看最終的left是怎么變的。調試一遍應該就會了