PersimmmonUI 的Clock控件问题

发布于 2021-03-02 10:13:22

最近对PersimmonUI的clock控件进行操作发现一个问题,就是对时钟进行初始后显示都是从6点开始(时、分、秒)。请问原因?
代码如下:

var page = {
    timer : 0,//定时器
    time: 0,//时间,秒数
    /* 此方法在第一次显示窗体前发生 */
    onLoad: function (event) {
        var that = this;
        that.timer = setInterval(function(){
            that.setData({Clock1 : {value : that.time , refresh : true}});
            that.time++;
        },1000)
    },

   /* 此方法关闭窗体前发生 */
    onExit: function (event) {
        clearInterval(this.timer);//清除定时器
    },
};
Page(page);
page = 0;

查看更多

关注者
0
被浏览
101
2 个回答
_允贺
_允贺 2021-03-05
  1. 版本号多少?

一般clock控件 需要设置指针的旋转点


    //在 onload 函数内设置
    onLoad: function (event) {
        this.setData({
            Clock1: {
                hour: { x: 4, y: 45 }, //(x, y) = (素材的宽度/2, 素材高度)
                minute: { x: 3, y: 58 }, // (x, y) = (素材的宽度/2, 素材高度)
                second: { x: 2, y: 60 } //(x, y) = (素材的宽度/2, 素材高度)
            }
        })
    },

image.png

你可以加入柿饼交流群(QQ: 321116336),并且有问题可以及时沟通。

cxhxy12345
cxhxy12345 2021-03-05

版本号是1.4.2。您说的方法是有效的,谢谢!
但我再实验中还发现如果我再onload对时钟设置一个初始值,譬如设置为3时15分45秒。运行时发现时钟的画面还是会从0点0时0秒突跳到我设置的时间上,再开始走秒。请问这个是不是软件在加载图片初始化的过程中出现了问题?我的测试代码如下:

var page = {
    time : 0,
    clockTime : 0,
    clockhour : 3,
    clockMinute : 15,
    clockDecond : 45,
    /* 此方法在第一次显示窗体前发生 */
    onLoad: function (event) {
        var thiz = this;
        this.setData({
            Clock1: {
                hour: { x: 4, y: 45 }, 
                minute: { x: 3, y: 58 },
                second: { x: 2, y: 60 }
            }
        });
        thiz.clockTime = this.clockhour * 60 *60 + this.clockMinute *60 + this.clockDecond;
        this.time = setInterval(function(){
            thiz.setData({ Clock1: { value: thiz.clockTime, refresh: true } });
            thiz.clockTime += 1;
            console.log(thiz.clockTime);
        },1000);
 ......

请问原因在那里?

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览