noticeView

概述

noticeView实现了类似京东快报,淘宝头条轮播公告样式。

open

打开notiveView轮播公告

open({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)插件的位置及尺寸
  • 备注:
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;公告视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    y: 0,   //(可选项)数字类型;公告视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    w: 0, //(可选项)数字类型;公告视图的宽度;默认:所属的 Window 或 Frame 的宽度
    h: 50  //(可选项)数字类型;公告视图的高度;默认:40
}

style:

  • 类型:JSON 对象
  • 描述:(可选项)插件的样式
  • 备注:
  • 内部字段:
{
    bgColor: '#FFFFFF',//(可选项)字符串类型;插件背景色,支持 rgb,rgba,#;默认:'#FFFFFF'
    marginL: 10, //(可选项)数字类型;插件距离屏幕左边的间距;默认:0
    marginR: 5, //(可选项)数字类型;插件距离屏幕右边的间距;默认:0
}

icon:

  • 类型:JSON 对象
  • 描述:(可选项)插件左侧图片样式
  • 备注:图片容器高度不能超过插件主视图高度,图片在容器中居中显示
  • 内部字段:
{
    image: 'widget://image/jd.png',//字符串,支持fs、widget等本地路径协议
    w: 50, //(可选项)数字类型;图片容器的宽度;默认:40
    h: 50, //(可选项)数字类型;图片容器的高度;默认:40
}

message:

  • 类型:JSON 对象
  • 描述:(可选项)插件轮播公告内容文字样式
  • 备注:
  • 内部字段:
{
    color: '#666666',//(可选项)字符串类型;插件公告内容文字的颜色;默认:#212121
    size: 14, //(可选项)数字类型;插件公告内容文字的大小;默认:14
}

line:

  • 类型:JSON 对象
  • 描述:(可选项)插件内分割线样式
  • 备注:分割线高度小于插件主视图高度,分割线会自动垂直居中;
  • 内部字段:
{
    color: '#666666',//(可选项)字符串类型;分割线颜色;默认:#666666
    w : 1, //(可选项)数字类型;分割线宽度;默认:1.0
    h : 20 //(可选项)数字类型;分割线高度;默认:20
}

right:

  • 类型:JSON 对象
  • 描述:(可选项)插件右侧文字按钮样式
  • 备注:高度为自适应插件主视图高度
  • 内部字段:
{
    text: '更多',//(可选项)字符串类型;右侧文字按钮文本;默认:'更多'
    size : 14, //(可选项)数字类型;按钮文字大小;默认:14
    color : '#666666' //(可选项)字符串类型;按钮文字颜色;默认:#666666
    w : 50 // (可选项)数字类型;按钮所占宽度;默认:40
}

data:

  • 类型:JSON 对象
  • 描述:(可选项)轮播公告的数据源
  • 备注:传入data必须包含message内容,其他不限制,点击后会回掉被点击项的全部参数。
  • 内部字段:
   [{
                    message : '这是第一条轮播测试内容',
                    url : 'http://www.baidu.com'
                }, {
                    message : '这是第二条轮播测试内容',
                    id:'测试id'
                }, {
                    message : '这是第三条轮播测试内容',
                    image : 'http://baidu.com/ceshi.png'
                }, {
                    message : '这是第四条轮播测试内容'
                }, {
                    message : '这是第五条轮播测试内容'
                }]//数组类型

Interval

  • 类型:数字类型
  • 描述:(可选项)插件公告的轮播频率;单位:s
  • 默认值 :3.0

fixed

  • 类型:布尔
  • 描述:(可选项)插件是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

fixedOn

  • 类型:字符串类型
  • 描述:(可选项)插件视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:插件依附于当前 window

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    onclick: 'message'   //字符串类型,交互事件类型
                         //取值范围如下:
                         //message(公告消息的点击事件)
                         //right (右侧文字按钮的点击事件)
    data:   //JSON对象;点击公告消息时,返回对应的JSON格式数据内容;仅当onclick为message时回掉
}

示例代码

var noticeView = api.require('noticeView');
   noticeView.open({
                rect : {
                    x : 0,
                    y : 100,
                    h : 50
                },
                style : {
                    bgColor : '#ffffff',
                    marginL : 10,
                    marginR : 5
                },
                icon : {
                    image : 'widget://image/jd.png',
                    w : 50,
                    h : 50
                },
                message : {
                    color : '#212121',
                    size : 14
                },
                line : {
                    color : '#666',
                    h : 20,
                    w : 1
                },
                right : {
                    text : '更多',
                    size : 14,
                    color : '#666666',
                    w : 50
                },
                data : [{
                    message : '这是第一条轮播测试内容',
                    url : 'http://www.baidu.com'
                }, {
                    message : '这是第二条轮播测试内容',
                    id:'测试id'
                }, {
                    message : '这是第三条轮播测试内容',
                    image : 'http://baidu.com/ceshi.png'
                }, {
                    message : '这是第四条轮播测试内容'
                }, {
                    message : '这是第五条轮播测试内容'
                }],
                Interval : 3,
                fixedOn : api.frameName
            }, function(ret, err) {
                api.alert({msg: JSON.stringify(ret)});
            });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appendData

向列表末端追加数据

appendData({params})

params

data:

  • 类型:JSON 对象
  • 描述:(可选项)公告的数据源
  • 备注:
  • 内部字段:
{
   [ {message:'这是一个测试公告的追加内容'},{message : '这是第二个测试公告的追加内容'}]//数组类型
}

示例代码

var noticeView = api.require('noticeView');
noticeView.appendData({
                data : [{
                    message : '这是第一个测试公告的追加内容',
                    url : '这是一个测试返回的内容'
                }, {
                    message : '这是第二个测试公告的追加内容'
                }, {
                    message : '这是第三个测试公告的追加内容'
                }, {
                    message : '这是第四个测试公告的追加内容'
                }, {
                    message : '这是第五个测试公告的追加内容'
                }]
            });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据

reloadData({params})

params

data:

  • 类型:JSON 对象
  • 描述:(可选项)公告的数据源
  • 备注:
  • 内部字段:
{
   [ {message:'这是一个测试公告内容'}]//数组类型
}

示例代码

var noticeView = api.require('noticeView');
noticeView.reloadData({
                data : [{
                    message : '刷新1',
                    url : 'http://sdfds/com'
                }, {
                    message : '刷新2'
                }, {
                    message : '刷新3'
                }, {
                    message : '刷新4'
                }, {
                    message : '刷新5'
                }]
            });

close

关闭轮播公告插件

close()

示例代码

var noticeView = api.require('noticeView');
noticeView.close();
是否仍需要帮助? 请保持联络!
最后更新于 2024/10/10