最近因为要写新的mobile site页面,有好几个页面上面必须用到photo slider。
使用插件:
/*
* Swipe 2.0
*
* Brad Birdsall
*
Copyright 2013, MIT License
*
*/
Github:https://github.com/thebird/Swipe
在使用的时候,发现只要是在两张照片的情况下,你会在chrome的F12调试中的Elements选项中发现swipe js使用js动态创建出来了4个div,这里是使用如下的代码:
1 <div id=‘mySwipe‘ style=‘max-width:500px;margin:0 auto;padding-top:0px;‘ class=‘swipe‘>
2 <div class=‘swipe-wrap‘>
3 __(foreach from=$all_content_information item=content_information)__
4 __(if $content_information.content_type == "image")__
5 <div>
6 <img src="__($host_application_prefix)____($content_information.fields.image.value)__" style="width:100%;height:280px;" />
7 </div>
8 __(/if)__
9 __(/foreach)__
10 </div>
11 </div>
那个调试的就不截图了,但是你使用Ctrl+u查看源代码就会发现源代码中的图片数是正确的。所以模板当中不存在条件判断失误的问题了,只能是在swipe
js中出现问题。
于是,顺藤摸瓜,打开swipe.js文件后,如果在Line 47-Line 53就发现了那一段在处理两张图片时候的代码。
1 //Source codes:
2 if (browser.transitions && options.continuous && slides.length < 3) {
3 element.appendChild(slides[0].cloneNode(true));
4 element.appendChild(element.children[1].cloneNode(true));
5 slides = element.children;
6 }
7
8 //Modified codes:
9
10 //special case if two slides
11 if (browser.transitions && options.continuous && slides.length < 3) {
12 //element.appendChild(slides[0].cloneNode(true));
13 //element.appendChild(element.children[1].cloneNode(true));
14 //slides = element.children;
15 }
不想知道根源的,只需要将那个if注销就好了。
时间: 2024-10-27 19:26:50