请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
1682
帖子
10
勋章
Y币

UIScrollPicture 模块(图片轮播)demo示例

  [复制链接]
发表于 2017-8-1 14:22:46
UIScrollPicture 模块是一个图片轮播模块,只需传入一组图片地址,即可实现图片轮播效果。同时本Demo还演示了如何使用UIScrollPicture实现APP引导页功能

APICloud官方轮播图模块UIScrollPicture的演示DEMO

本DEMO主要演示了APICloud官方模块UIScrollPicture的使用场景和方法。

注意:使用模块前需在控制台添加UIScrollPicture模块和UIButton模块。

  • 方法1:点击引导页最后一个页面任意位置,进入主页面
  • 方法2:在引导页最后一个页面添加UIButton,通过点击UIButton按钮进入主页面
  • 页面逻辑写在在index.html中


完整源码与图片资源请进入链接下载:https://**.**/IT-SDJ/APICloudModuleDemo-UIScrollPicture

index.html
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,initial-scale=1.0,width=device-width"/>
  6.     <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7.     <title>APICloudModuleDemo</title>
  8.     <link rel="stylesheet" type="text/css" href="./css/api.css" />
  9.     <style type="text/css">
  10.     </style>
  11. </head>
  12. <body>
  13. </body>
  14. <script type="text/javascript" src="./script/api.js"></script>
  15. <script type="text/javascript">
  16.     var UIScrollPicture;   //轮播图模块对象
  17.     var UIButton;          //按钮模块对象
  18.     var vButtonId;         //按钮模块对象索引对象
  19.     //程序启动入口
  20.     apiready = function(){
  21.       //引导页显示判断
  22.       var isFirst = api.getPrefs({
  23.           key: 'isFirst',
  24.           sync: true,
  25.       });
  26.       // isFirst=false;
  27.       if (!isFirst) {
  28.           //启动引导页面
  29.           fnStartGuidePage();
  30.       } else {
  31.           fnStartMainPage();
  32.       }
  33.     };
  34.     function fnStartGuidePage() {
  35.         //设置页面默认图片;
  36.         var tData = [
  37.             'widget://res/guide1.jpg',
  38.             'widget://res/guide2.jpg',
  39.             'widget://res/guide3.jpg',
  40.         ];
  41.         UIScrollPicture = api.require('UIScrollPicture');
  42.         UIScrollPicture.open({
  43.             rect: {
  44.                 x: 0,
  45.                 y: 0,
  46.                 w: 'auto',
  47.                 h: 'auto'          //此处用'auto'是为了适应某些机型页面底部虚拟键的显示/隐藏 切换
  48.             },
  49.             data: {
  50.                 paths: tData,
  51.             },
  52.             styles: {
  53.                 indicator: {
  54.                     align: 'center',
  55.                     color: 'rgba(255,255,255,0.4)',
  56.                     activeColor: '#FFFFFF'
  57.                 }
  58.             },
  59.             contentMode: 'scaleToFill',
  60.             auto: false,          //禁止自动滚动
  61.             loop: false,          //禁止循环播放
  62.         }, function(ret, err) {
  63.             if (ret) {
  64.               /*
  65.                 //方法1  点击末页任意位置进入主页面
  66.                 if('click' == ret.eventType){
  67.                    if(ret.index==3){
  68.                      //关闭页面,进入主页面
  69.                      fnStartMainPage();
  70.                    }
  71.                 }
  72.               */
  73.                 //方法2  点击末页按钮进入主页面(使用前,需在控制台添加UIButton模块)
  74.                 //设计思路:添加一个UIButton模块,在UIScrollPicture页面滑动到末页时显示UIButton模块,其余页面隐藏按钮模块,在按钮模块添加点事件点击模块进入主页面
  75.                 //添加末页点击进入主页面方法
  76.                 if ('show' == ret.eventType) {
  77.                     UIScrollPicture.addEventListener({
  78.                         name: 'scroll'
  79.                     }, function(ret, err) {
  80.                         if (ret.status) {
  81.                             if (ret.index == (tData.length - 1)) {
  82.                                 //显示进入按钮
  83.                                 fnShowStartBtn();
  84.                             } else {
  85.                                 //隐藏进入按钮
  86.                                 fnHideStartBtn();
  87.                             }
  88.                         }
  89.                     });
  90.                 }
  91.             }
  92.         });
  93.     }
  94.     //启动程序主页面
  95.     function fnStartMainPage() {
  96.         if(UIScrollPicture){
  97.           //缓存App启动信息
  98.           api.setPrefs({
  99.               key: 'isFirst',
  100.               value: '1'
  101.           });
  102.           //关闭引导页模块
  103.           UIScrollPicture.close();
  104.           //关闭方法2使用按钮模块
  105.           if(UIButton){
  106.             UIButton.close({
  107.                 id: vButtonId
  108.             });
  109.           }
  110.         }
  111.         //启动主页面
  112.         api.openWin({
  113.             name: 'main',
  114.             url: 'html/main.html',
  115.             bounces: false,
  116.             vScrollBarEnabled: false,
  117.             hScrollBarEnabled: false,
  118.             slidBackEnabled: false,
  119.             rect: {
  120.                 x: 0,
  121.                 y: 0,
  122.                 w: 'auto',
  123.                 h: 'auto'
  124.             }
  125.         });
  126.     }
  127.     //显示进入APP按钮
  128.     function fnShowStartBtn() {
  129.         if (!vButtonId && vButtonId != 0) {
  130.             //初始化按钮模块
  131.             UIButton = api.require('UIButton');
  132.             UIButton.open({
  133.                 rect: {
  134.                     x: api.winWidth / 2 - 50,
  135.                     y: api.winHeight - 60,
  136.                     w: 100,
  137.                     h: 30
  138.                 },
  139.                 corner: 5,
  140.                 bg: {
  141.                     normal: 'rgba(255,255,255,50)',
  142.                     highlight: 'rgba(255,255,255,90)',
  143.                     active: 'rgba(255,255,255,90)'
  144.                 },
  145.                 title: {
  146.                     size: 20,
  147.                     normal: '立即开启',
  148.                     highlightColor: '#000000',
  149.                     activeColor: '#000adf',
  150.                     normalColor: '#FFFFFF',
  151.                     alignment: 'center'
  152.                 },
  153.                 fixed: true,
  154.                 move: false
  155.             }, function(ret, err) {
  156.                 if ('show' == ret.eventType) {
  157.                     vButtonId = ret.id;
  158.                 }
  159.                 if ('click' == ret.eventType) {
  160.                     //关闭引导页,进入主页面
  161.                     fnStartMainPage();
  162.                 }
  163.             });
  164.         } else {
  165.             //模块已初始化过,直接显示
  166.             UIButton.show({
  167.                 id: vButtonId
  168.             });
  169.         }
  170.     }
  171.     //隐藏进入按钮
  172.     function fnHideStartBtn() {
  173.         if (UIButton) {
  174.             UIButton.hide({
  175.                 id: vButtonId
  176.             });
  177.         }
  178.     }
  179. </script>
  180. </html>
复制代码


5
帖子
0
勋章
417
Y币
回帖拿金币,支持支持
15
帖子
0
勋章
444
Y币
感谢 分享,学习中
5
帖子
0
勋章
199
Y币
感谢分享,学习了!!!
16
帖子
1
勋章
1699
Y币
回帖拿金币,支持支持
99
帖子
1
勋章
314
Y币
帖拿金币,支持支持
75
帖子
0
勋章
822
Y币
学习中。。。。
136
帖子
1
勋章
853
Y币
捡个云币
258
帖子
4
勋章
1024
Y币

回帖拿金币,支持支持
8
帖子
0
勋章
82
Y币

帖拿金币,支持支持
12345678910... 13下一页
您需要登录后才可以回帖 登录

本版积分规则