温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hubilder的坑怎么解决

发布时间:2022-10-18 16:16:07 来源:亿速云 阅读:142 作者:iii 栏目:编程语言

这篇文章主要讲解了“Hubilder的坑怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hubilder的坑怎么解决”吧!

Hubilder的那些坑

第一坑:下拉/上拉 刷新

今天更新了huilder版本,捡到等新内容里面新增新建html,单webview下拉刷新示例

因为我之前的项目中也用到了 上拉/下拉刷新,出了一个bug,就是在android上一点问题都没有,但在ios上却始终不显示数据,

所以就想着试试这个版本,

于是我就用hbuilder新建了一个下拉刷新的模版,如下;

<!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 type="text/css">.mui-content>.mui-table-view:first-child {
                margin-top:1px;
            }</style>
    </head>

    <body>
        <header class="mui-bar mui-bar-nav">
            <h2 id="title" class="mui-title">下拉刷新和上来加载 单webview模式</h2>
        </header>
        <!--下拉刷新容器-->
        <div id="pullrefresh" class="mui-content">
            <!--数据列表-->
            <ul class="mui-table-view mui-table-view-chevron"></ul>
        </div>
        <script src="js/mui.min.js" type="text/javascript" charset="utf-8"></script>
        <script>'#pullrefresh',
                    down: {
                        style:'circle',
                        callback: pulldownRefresh
                    },
                    up: {
                        auto:true,
                        contentrefresh: '正在加载...',
                        callback: pullupRefresh
                    }
                }
            });

            var count = 0;
            function pullupRefresh()
                setTimeout(function()
                    mui('#pullrefresh').pullRefresh().endPullup((++count > 2)); //参数为true代表没有更多数据了。
                    var table = document.body.querySelector('.mui-table-view');
                    var cells = document.body.querySelectorAll('.mui-table-view-cell');
                    var newCount = cells.length>0?5:20;//首次加载20条,满屏
                    for (var i = cells.length, len = i + newCount; 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);
                    }
                }, 1500);
            }

            function addData()
                var table = document.body.querySelector('.mui-table-view');
                var cells = document.body.querySelectorAll('.mui-table-view-cell');
                for(var i = cells.length, len = i + 5; 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.insertBefore(li, table.firstChild);
                }
            }
            /**
             * 下拉刷新具体业务实现
             */
            function pulldownRefresh()
                setTimeout(function()
                    addData();
                    mui('#pullrefresh').pullRefresh().endPulldown();
                    mui.toast("为你推荐了5篇文章");
                }, 1500);
            }

        </script>
    </body>

</html>

运行测试,完美,毫无问题!

但是当我把这个页面原封不懂拷到我之前的项目时,死活报错:

mui('#pullrefresh').pullRefresh().endPullup((++count > 2)); //参数为true代表没有更多数据了。

就是这句代码,搞得我很崩溃,

后来终于发现:原来是 新建的html会自动生成js css两个文件,里面包含了mui.js和,mui.css.

而我的之前的项目由于是更新之前的时候新建项目产生的 js和css两个文件,所以说:

升级前后两个版本的 js ,css文件页升级了,只是我没更新我项目的 js和css文件,所以才出现这种bug,

想想之前,ios版本的下拉刷新出现的bug也不难理解了.

解决办法: 把新版本产生的js,css文件覆盖掉旧版本的即可.

…….过分!!!

第二坑:onclick事件的bug

在li标签中使用onclick事件在ios中无反应

改用 on 事件添加:

mui("#pullrefresh").on('tap', 'li', function()

                var value = h(this).find("a").val();

                var begindate = "" + value + "01";
                var enddate = "" + value + "31";

                mui.openWindow({
                    url: '../sales-search-list.html',
                    extras: {
                        "startdate": begindate,
                        "enddate": enddate,
                    },
                });


            });

感谢各位的阅读,以上就是“Hubilder的坑怎么解决”的内容了,经过本文的学习后,相信大家对Hubilder的坑怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI