也许你面容憔悴
也许你面容憔悴
  • 发布:2015-08-18 20:41
  • 更新:2016-06-13 15:04
  • 阅读:2844

下拉刷新和轮播图放在一起时左右滑动会出问题

分类:MUI

代码其实很简单,直接把MUI项目里图片轮播的DIV放到 pullrefresh_with_tab.html 里,右滑动到第三个DIV之后就会出问题,左滑也是.

<!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">  

    <link rel="stylesheet" href="../css/mui.min.css">  
    <style>  
        html,  
        body {  
            background-color: #efeff4;  
        }  
        .mui-bar~.mui-content .mui-fullscreen {  
            top: 44px;  
            height: auto;  
        }  
        .mui-pull-top-tips {  
            position: absolute;  
            top: -20px;  
            left: 50%;  
            margin-left: -25px;  
            width: 40px;  
            height: 40px;  
            border-radius: 100%;  
        }  
        .mui-bar~.mui-pull-top-tips {  
            top: 24px;  
        }  
        .mui-pull-top-wrapper {  
            width: 42px;  
            height: 42px;  
            display: block;  
            text-align: center;  
            background-color: #efeff4;  
            border: 1px solid #ddd;  
            border-radius: 25px;  
            background-clip: padding-box;  
            box-shadow: 0 4px 10px #bbb;  
            overflow: hidden;  
        }  
        .mui-pull-top-tips.mui-transitioning {  
            -webkit-transition-duration: 200ms;  
            transition-duration: 200ms;  
        }  
        .mui-pull-top-tips .mui-pull-loading {  
            /*-webkit-backface-visibility: hidden;  
            -webkit-transition-duration: 400ms;  
            transition-duration: 400ms;*/  

            margin: 0;  
        }  
        .mui-pull-top-wrapper .mui-icon,  
        .mui-pull-top-wrapper .mui-spinner {  
            margin-top: 7px;  
        }  
        .mui-pull-top-wrapper .mui-icon.mui-reverse {  
            /*-webkit-transform: rotate(180deg) translateZ(0);*/  
        }  
        .mui-pull-bottom-tips {  
            text-align: center;  
            background-color: #efeff4;  
            font-size: 15px;  
            line-height: 40px;  
            color: #777;  
        }  
        .mui-pull-top-canvas {  
            overflow: hidden;  
            background-color: #fafafa;  
            border-radius: 40px;  
            box-shadow: 0 4px 10px #bbb;  
            width: 40px;  
            height: 40px;  
            margin: 0 auto;  
        }  
        .mui-pull-top-canvas canvas {  
            width: 40px;  
        }  
        .mui-slider-indicator.mui-segmented-control {  
            background-color: #efeff4;  
        }  
        .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}  
    </style>  
</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">  
        <div id="slider" class="mui-slider mui-fullscreen">  
            <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">  
                <div class="mui-scroll">  
                    <a class="mui-control-item mui-active" href="#item1mobile">  
                        推荐  
                    </a>  
                    <a class="mui-control-item" href="#item2mobile">  
                        热点  
                    </a>  
                    <a class="mui-control-item" href="#item3mobile">  
                        北京  
                    </a>  
                    <a class="mui-control-item" href="#item4mobile">  
                        社会  
                    </a>  
                    <a class="mui-control-item" href="#item5mobile">  
                        娱乐  
                    </a>  
                    <a class="mui-control-item" href="#item6mobile">  
                        科技  
                    </a>  
                </div>  
            </div>  
            <div class="mui-slider-group">  
                <div id="item1mobile" class="mui-slider-item mui-control-content mui-active">  
                    <div id="scroll1" class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                                    <div id="slider" class="mui-slider" >  
        <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>  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                    </div>  
                </div>  
                <div id="item2mobile" class="mui-slider-item mui-control-content">  
                    <div class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                    </div>  
                </div>  
                <div id="item3mobile" class="mui-slider-item mui-control-content">  
                    <div class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                    </div>  
                </div>  
                <div id="item4mobile" class="mui-slider-item mui-control-content">  
                    <div class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                    </div>  
                </div>  
                <div id="item5mobile" class="mui-slider-item mui-control-content">  
                    <div class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                    </div>  
                </div>  
                <div id="item6mobile" class="mui-slider-item mui-control-content">  
                    <div class="mui-scroll-wrapper">  
                        <div class="mui-scroll">  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                    </div>  
                </div>  
            </div>  
        </div>  
    </div>  
    <script src="../js/mui.min.js"></script>  
    <script src="../js/mui.pullToRefresh.js"></script>  
    <script src="../js/mui.pullToRefresh.material.js"></script>  
    <script>  
        mui.init();  
        (function($) {  
            //阻尼系数  
            var deceleration = mui.os.ios?0.003:0.0009;  
            $('.mui-scroll-wrapper').scroll({  
                bounce: false,  
                indicators: true, //是否显示滚动条  
                deceleration:deceleration  
            });  
            $.ready(function() {  
                //循环初始化所有下拉刷新,上拉加载。  
                $.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {  
                    $(pullRefreshEl).pullToRefresh({  
                        down: {  
                            callback: function() {  
                                var self = this;  
                                setTimeout(function() {  
                                    var ul = self.element.querySelector('.mui-table-view');  
                                    ul.insertBefore(createFragment(ul, index, 10, true), ul.firstChild);  
                                    self.endPullDownToRefresh();  
                                }, 1000);  
                            }  
                        },  
                        up: {  
                            callback: function() {  
                                var self = this;  
                                setTimeout(function() {  
                                    var ul = self.element.querySelector('.mui-table-view');  
                                    ul.appendChild(createFragment(ul, index, 5));  
                                    self.endPullUpToRefresh();  
                                }, 1000);  
                            }  
                        }  
                    });  
                });  
                var createFragment = function(ul, index, count, reverse) {  
                    var length = ul.querySelectorAll('li').length;  
                    var fragment = document.createDocumentFragment();  
                    var li;  
                    for (var i = 0; i < count; i++) {  
                        li = document.createElement('li');  
                        li.className = 'mui-table-view-cell';  
                        li.innerHTML = '第' + (index + 1) + '个选项卡子项-' + (length + (reverse ? (count - i) : (i + 1)));  
                        fragment.appendChild(li);  
                    }  
                    return fragment;  
                };  
            });  
        })(mui);  
    </script>  
</body>  

</html>

2015-08-18 20:41 负责人:无 分享
已邀请:
王彦坡

王彦坡

已找到原因,父页面加上这个就OK
http://ask.dcloud.net.cn/question/16560

.mui-plus-pullrefresh .mui-scroll {
position: absolute;
width: 100%;
}

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