岚枫
岚枫
  • 发布:2016-10-25 16:34
  • 更新:2016-10-25 22:15
  • 阅读:2082

图片轮播组件 隐藏到显示图片显示异常问题

分类:MUI

详细问题描述
[内容]
对slider-default.html页面进行稍微修改
<div id="slider" class="mui-slider" style="display: none;">
<div class="mui-slider-group mui-slider-loop">
<!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
<div class="mui-slider-item mui-slider-item-duplicate">
<a href="#">
<img src="../images/yuantiao.jpg">
</a>
</div>
<!-- 第一张 -->
<div class="mui-slider-item">
<a href="#">
<img src="../images/shuijiao.jpg">
</a>
</div>
<!-- 第二张 -->
<div class="mui-slider-item">
<a href="#">
<img src="../images/muwu.jpg">
</a>
</div>
<!-- 第三张 -->
<div class="mui-slider-item">
<a href="#">
<img src="../images/cbd.jpg">
</a>
</div>
<!-- 第四张 -->
<div class="mui-slider-item">
<a href="#">
<img src="../images/yuantiao.jpg">
</a>
</div>
<!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
<div class="mui-slider-item mui-slider-item-duplicate">
<a href="#">
<img src="../images/shuijiao.jpg">
</a>
</div>
</div>
<div class="mui-slider-indicator">
<div class="mui-indicator mui-active"></div>
<div class="mui-indicator"></div>
<div class="mui-indicator"></div>
<div class="mui-indicator"></div>
</div>
</div>
在轮播组件上增加:style="display: none;"
通过按钮去显示出来,图片显示会显示为最后一张(节点是第一张节点)
查看解析源码:
style="-webkit-transform: translate3d(0px, 0px, 0px) translateZ(0px);"
重现步骤
[步骤]
[结果]
[期望]

运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
<!DOCTYPE html>
<html>

<head>  
    <meta charset="utf-8">  
    <title>Hello MUI</title>  
    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">  
    <meta name="apple-mobile-web-app-capable" content="yes">  
    <meta name="apple-mobile-web-app-status-bar-style" content="black">  

    <!--标准mui.css-->  
    <link rel="stylesheet" href="../css/mui.min.css">  
    <!--App自定义的css-->  
    <link rel="stylesheet" type="text/css" href="../css/app.css"/>  
</head>  

<body>  
    <header class="mui-bar mui-bar-nav">  
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>  
        <h1 class="mui-title">图片轮播</h1>  
    </header>  
    <div class="mui-content">  
        <button id="test">显示图片轮播</button>  
        <button id="test2">跳到第一张</button>  
    </div>  
    <div id="slider" class="mui-slider" style="display: none;">  
        <div class="mui-slider-group mui-slider-loop">  
            <!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->  
            <div class="mui-slider-item mui-slider-item-duplicate">  
                <a href="#">  
                    <img src="../images/yuantiao.jpg">  
                </a>  
            </div>  
            <!-- 第一张 -->  
            <div class="mui-slider-item">  
                <a href="#">  
                    <img src="../images/shuijiao.jpg">  
                </a>  
            </div>  
            <!-- 第二张 -->  
            <div class="mui-slider-item">  
                <a href="#">  
                    <img src="../images/muwu.jpg">  
                </a>  
            </div>  
            <!-- 第三张 -->  
            <div class="mui-slider-item">  
                <a href="#">  
                    <img src="../images/cbd.jpg">  
                </a>  
            </div>  
            <!-- 第四张 -->  
            <div class="mui-slider-item">  
                <a href="#">  
                    <img src="../images/yuantiao.jpg">  
                </a>  
            </div>  
            <!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->  
            <div class="mui-slider-item mui-slider-item-duplicate">  
                <a href="#">  
                    <img src="../images/shuijiao.jpg">  
                </a>  
            </div>  
        </div>  
        <div class="mui-slider-indicator">  
            <div class="mui-indicator mui-active"></div>  
            <div class="mui-indicator"></div>  
            <div class="mui-indicator"></div>  
            <div class="mui-indicator"></div>  
        </div>  
    </div>  
    <script src="../js/mui.min.js"></script>  
    <script type="text/javascript" charset="utf-8">  
        mui.init({  
            swipeBack:true //启用右滑关闭功能  
        });  
        var slider = mui("#slider");  
        document.getElementById("test").addEventListener("tap",function(){  
            document.getElementById("slider").style.display = "";  
            //下面初始化,如果不初始化不能使用slider.slider().gotoItem(0);跳转,会报错  
            slider.slider({  
                interval: 0  
            });  

// slider.slider().gotoItem(0);
});
document.getElementById("test2").addEventListener("tap",function(){
slider.slider().gotoItem(0);//跳转到第index张图片,index从0开始;
});

// document.getElementById("switch").addEventListener('toggle', function(e) {
// if (e.detail.isActive) {
// mui("#slider").slider({
// interval: 5000
// });
// } else {
// mui("#slider").slider({
// interval: 0
// });
// }
// });
</script>
</body>

</html>
[安装包]

联系方式
[QQ]
[电话]

2016-10-25 16:34 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

轮播组件的display为none时,不要添加mui-slider类。当点击显示的时候,添加mui-slider类,并且初始化slider。

document.getElementById(‘slider’).style.display = ‘block’;  
document.getElementById('slider').classList.add('mui-slider');  
mui('.mui-slider').slider({});  

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