jie
jie
  • 发布:2015-03-05 15:24
  • 更新:2015-03-05 15:33
  • 阅读:1482

下拉刷新问题

分类:MUI

问题描述:
这个页面我有四个选项卡,每个选项卡内容相同,只是排序不同,我想这个四个选项卡都实现上拉刷新功能,应该怎么修改代码呢?
还有就是我现在 “综合” 这个选项卡第一个li就是ltem11,请问这是怎么回事呢?

下面是源代码:

<!DOCTYPE html>  
<html>  

    <head>  
        <meta charset="utf-8" />  
        <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />  
        <title>b2b2c商城卖家版_分销列表</title>  
        <link rel="stylesheet" href="../css/mui.min.css">  
        <link rel="stylesheet" href="../css/common.css" />  
        <link rel="stylesheet" href="../css/list.css" />  
        <script type="text/javascript" src="../js/common.js"></script>  
    </head>  

    <body>  
        <header class="mui-bar mui-bar-nav">  
            <a class="mui-action-back mui-icon mui-icon-back mui-pull-left"></a>  
            <h1 class="mui-title">分销商品列表</h1>  
        </header>  
        <div class="mui-content">  
            <div style="padding: 10px 10px; margin-top: 40px;">  
                <div id="segmentedControl" class="mui-segmented-control mui-segmented-control-inverted">  
                    <a class="mui-control-item mui-active" href="#item1">  
                综合  
            </a>  
                    <a class="mui-control-item" href="#item2">  
                销量  
            </a>  
                    <a class="mui-control-item" href="#item3">  
                佣金  
            </a>  
                    <a class="mui-control-item" href="#item4">  
                价格  
            </a>  
                </div>  
            </div>  
            <div>  
                <div id="item1" class="mui-control-content mui-active">           
                        <div class="mui-scroll">  
                            <ul class="mui-table-view">  

                            </ul>  
                        </div>  
                </div>  
                <div id="item2" class="mui-control-content">  
                    <ul class="mui-table-view">  
                        <li class="mui-table-view-cell">  
                            第二个选项卡子项-1  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第二个选项卡子项-2  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第二个选项卡子项-3  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第二个选项卡子项-4  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第二个选项卡子项-5  
                        </li>  
                    </ul>  
                </div>  
                <div id="item3" class="mui-control-content">  
                    <ul class="mui-table-view">  
                        <li class="mui-table-view-cell">  
                            第三个选项卡子项-1  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第三个选项卡子项-2  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第三个选项卡子项-3  
                        </li>  
                    </ul>  
                </div>  
                <div id="item4" class="mui-control-content">  
                    <ul class="mui-table-view">  
                        <li class="mui-table-view-cell">  
                            第四个选项卡子项-1  
                        </li>  
                        <li class="mui-table-view-cell">  
                            第四个选项卡子项-2  
                        </li>  
                    </ul>  
                </div>  
            </div>  
        </div>  
        <script src="../js/mui.min.js"></script>  
        <script src="../js/app.js"></script>  
        <script>  
            mui.init({  
                swipeBack: false,  
                pullRefresh: {  
                    container: '#item1',  
                    up: {  
                        contentrefresh: '正在加载...',  
                        callback: pullupRefresh  
                    }  
                }  
            });  
            var count = 0;  
            /**  
             * 上拉加载具体业务实现  
             */  
            function pullupRefresh() {  
                setTimeout(function() {  
                    mui('#item1').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。  
                    var table = document.body.querySelector('.mui-table-view');  
                    var cells = document.body.querySelectorAll('.mui-table-view-cell');  
                    for (var i = cells.length, len = i + 10; i < len; i++) {  
                        var li = document.createElement('li');  
                        li.className = 'mui-table-view-cell';  
                        li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';  
                        table.appendChild(li);  
                    }  
                }, 1000);  
            }  
            if (mui.os.plus) {  
                mui.plusReady(function() {  
                    setTimeout(function() {  
                        mui('#item1').pullRefresh().pullupLoading();  
                    }, 1000);  

                });  
            } else {  
                mui.ready(function() {  
                    mui('#item1').pullRefresh().pullupLoading();  
                });  
            }  
        </script>  
    </body>
2015-03-05 15:24 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

1.建议可以把顶部的选项卡标题放在父webview。选项卡内容放在子webview。在子webview里边实现整体的下拉刷新即可。回调函数,根据当前具体显示的选项卡来加载不同的数据,追加到不同的选项卡上

2.显示11的问题是你代码里用了“document.body.querySelectorAll”查到的当然是整个页面一共有的li。你应该查找当前选项卡里的li的数量

  • jie (作者)

    1.用我现在这种方式不能实现吗?因为我这个页面已经是2级页面了,1级页面也是一个WebView,会不会导致卡顿现象什么的?

    2.“document.body.querySelectorAll”这个应该是改成这个 “document.body.querySelector”吗?

    2015-03-05 15:51

  • DCloud_UNI_FXY

    1.可以实现。但是这样做的话,下拉刷新只能是在选项卡标题的上边,而不能在选项卡标题的下边

    2.document.getElementById('item1').querySelectorAll

    2015-03-05 15:54

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