起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3419|回复: 7

[结贴] carousel退出

  [复制链接]

15

主题

40

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
发表于 2016-4-8 02:52:55 | 显示全部楼层 |阅读模式
一个页面如果有个carousel,且设置为自动翻滚,如果在翻滚的时候点击退出该页面,就会触发triger错误。
退出之前将auto设置为false不管用,它依然在翻滚。也会依旧触发triger错误。该如何解决

15

主题

40

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
 楼主| 发表于 2016-4-8 11:33:28 | 显示全部楼层
自己顶一下
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-4-8 19:56:02 | 显示全部楼层
X5用的是V3.4版本吗?应该没问题的

可以这样看看,把autoLoad设置为false
然后在js中定义一个变量
var interval = "";
在model的onLoad中调用
  1. Model.prototype.modelLoad = function(event) {
  2.                 var self = this;
  3.                 interval= setInterval(function(){
  4.                     var idx = self.comp('contents1').getActiveIndex();
  5.                     console.log(2);
  6.                         if (idx === -1 || idx === 2) {
  7.                                 self.comp('contents1').to(0);
  8.                         } else {
  9.                                 self.comp('contents1').next();
  10.                         }
  11.                 },1000)
  12.         };
复制代码


然后在model的onunload中
clearInterval(interval);

看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

40

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
 楼主| 发表于 2016-4-8 21:05:58 | 显示全部楼层
谢谢回复。按照你的方法,在unload事件中clearInterval(interval);依然会触发triger错误
Uncaught TypeError: Cannot read property 'trigger' of null(anonymous function) @ comp.min.js:144

我用的3.3版本。
现在正在看。
回复 支持 反对

使用道具 举报

15

主题

40

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
 楼主| 发表于 2016-4-8 22:24:28 | 显示全部楼层
最后采用设置一个变量,来确定是否正在轮询图片,不是个办法,不过不出错了,结贴吧。
回复 支持 反对

使用道具 举报

发表于 2016-4-11 13:03:39 | 显示全部楼层
996670573 发表于 2016-4-8 22:24
最后采用设置一个变量,来确定是否正在轮询图片,不是个办法,不过不出错了,结贴吧。 ...

把你的解决方法详细说来看看,可以让大家参考,谢谢!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-16 18:33:33 | 显示全部楼层
interval= setInterval(function(){
                    var idx = self.comp('contents1').getActiveIndex();
                    console.log(2);
                        if (idx === -1 || idx === 2) {
                                self.comp('contents1').to(0);
                        } else {
                                self.comp('contents1').next();
                        }
                },1000)
改成
this.setInterval(function(){
                    var idx = self.comp('contents1').getActiveIndex();
                    console.log(2);
                        if (idx === -1 || idx === 2) {
                                self.comp('contents1').to(0);
                        } else {
                                self.comp('contents1').next();
                        }});
回复 支持 反对

使用道具 举报

140

主题

573

帖子

1080

积分

金牌会员

Rank: 6Rank: 6

积分
1080
QQ
发表于 2016-10-25 16:05:50 | 显示全部楼层
虽然Model的setInterval会自动释放定时器,但是,还是报错的啊! carousel组件异常.png

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 15:37 , Processed in 0.058093 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表