吴俊川
吴俊川
  • 发布:2016-08-18 10:28
  • 更新:2017-06-27 17:36
  • 阅读:1777

可左右拖动的选项卡动态生成后如何初始化组件

分类:MUI

最近在做一个项目,客户需求需要用到可左右拖动的选项卡这个效果,我之前写的静态页面是可以正常运行的.随着项目的推进,现在我们可以从服务器上获取到数据,并且用js动态生成选项卡的内容,但是遇到了一个问题,就是js动态生成的选项卡没有进行组件初始化,他默认页码就是0,拖动的时候会遇到

Uncaught TypeError: Cannot read property '0' of undefined mui.js:3571

这样的问题,找了很久,我知道是组件没有初始化的原因,但是手动调用了

    mui('.mui-scroll-wrapper').scroll({  
        bounce: false,  
        indicators: false,//是否显示滚动条  
        //deceleration:deceleration  
    });

还是不能初始化组件.求帮忙~谢谢大家


  • Update:2016年8月18日12:05:42


这一部分是动态生成的,我必须手动点一下选项卡,以后滑动才能自动添加 mui-active 的效果


  • Update:2016年8月18日14:03:29

我知道了,前面那个问题是生成内容后没有调用mui(selector).scroll({})方法导致的,现在又有一个新问题了,顶部的可拖动的选项卡是没问题了,但是内容主体不能滚动.见下图,我有调用初始化组件的

2016-08-18 10:28 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

应该是元素节点的问题,我是直接替换mui-scroll子元素节点,也就是ul节点的innerHTML,是没问题的,请检查一下DOM结构。

  • 吴俊川 (作者)

    没有用js动态生成的就没有问题,应该不是DOM结构的问题,我检查过了,和静态的时候的结构是一致的.我设想应该是动态生成选项卡后,组件没有再一次初始化的缘故

    2016-08-18 12:09

  • Trust

    回复 吴俊川:mui('.mui-slider').slider();初始化一下slider组件。

    2016-08-18 12:25

  • 吴俊川 (作者)

    回复 Trust:好的谢谢,能帮我看看最新的问题吗?

    2016-08-18 14:04

  • 吴俊川 (作者)

    回复 吴俊川:解决了@86285:解决了,谢谢~

    2016-08-18 14:51

  • Trust

    回复 吴俊川:这种情况,最好仔细看下DOM结构,就知道是那个组件的问题了。

    2016-08-18 15:02

  • 吴俊川 (作者)

    回复 Trust:我一直调用mui('.mui-scroll-wrapper').scroll({}),初始化不成功.然后试了一下mui('.mui-scroll-wrapper').scroll({})[0]就可以了

    2016-08-18 15:08

  • y***@163.com

    我遇到了一模一样的问题 ,但是用

    mui('.mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control').scroll({

    scrollY: false,

    scrollX: true,

    indicators: false,

    snap: '.mui-control-item'

    });

    做初始化 没有用 请问是什么原因?@86285

    2017-05-31 18:51

y***@163.com

y***@163.com

再初始化一下mui("selector").slider();就可以了!

v***@foxmail.com

v***@foxmail.com

请问解决了吗

该问题目前已经被锁定, 无法添加新回复