1 ionic.views.Slider = ionic.views.View.inherit({ 2 initialize: function (options) { 3 . 4 . 5 . 6 function setup() { 7 . 8 . 9 . 10 // set continuous to false if only one slide 11 if (slides.length < 2) options.continuous = false; 12 13 //special case if two slides 14 if (browser.transitions && options.continuous && slides.length < 3) { 15 element.appendChild(slides[0].cloneNode(true)); 16 element.appendChild(element.children[1].cloneNode(true)); 17 slides = element.children; 18 } 19 . 20 . 21 . 22 } 23 . 24 . 25 . 26 } 27 });
交流群里一位仁兄问了这么个问题,做图片轮播的时候,如果是两张图片情况下,会出来四张(两张重复),觉得好神奇,就试了试,果然如此。
于是乎打断点调试了下,就发现以上代码。这是ionic.js里面的代码片段,是slider的定义。注意这句注释://special case if two slides。虽不知道为何如此设计,但是这就是原因所在了,在slides.length=2的时候就进入此判断下,于是就复制了两个出来,两个轮播图就变成了四个。
由于学时尚短,不敢乱动框架,现只记在此处,未有解决方案。