账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问下,同段的js为什么在pc端正常,移动端就不行了?
    41
    0

    请问下,同段的js为什么在pc端正常,移动端就不行了?

    html调用代码:

    <div id="pgbtn" class="pgbtn_page">
          <a class="page_a" href="javascript:;" rel="forum.php?order={$_GET['order']}&page=$ntpage" curpage="{$_G['page']}" id="autopbn" totalpage="{$fynum}" picstyle="$_G[forum][picstyle]" forumdefstyle="$_G[cookie][forumdefstyle]">点击加载更多</a>
          <script type="text/javascript" src="{$_G[style][styleimgdir]}/js/exauto_ajax_page.js?{VERHASH}"></script>
        </div>

    js文件代码:

    (function() {
    
        var autopbn = $('autopbn');
        var nextpageurl = autopbn.getAttribute('rel').valueOf();
        var curpage = parseInt(autopbn.getAttribute('curpage').valueOf());
        var totalpage = parseInt(autopbn.getAttribute('totalpage').valueOf());
        var picstyle = parseInt(autopbn.getAttribute('picstyle').valueOf());
        var forumdefstyle = parseInt(autopbn.getAttribute('forumdefstyle').valueOf());
        picstyle = picstyle && !forumdefstyle;
        var autopagenum = 0;
        var maxpage = (curpage + autopagenum) > totalpage ? totalpage : (curpage + autopagenum);
    
        var loadstatus = 0;
    
        autopbn.onclick = function() {
            var oldloadstatus = loadstatus;
            loadstatus = 2;
            autopbn.innerHTML = '正在加载, 请稍后...';
            getnextpagecontent();
            loadstatus = oldloadstatus;
        };
    
        if(autopagenum > 0) {
            window.onscroll = function () {
                var curtop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
                if(curtop + document.documentElement.clientHeight + 500 >= document.documentElement.scrollHeight && !loadstatus) {
                    loadstatus = 1;
                    autopbn.innerHTML = '正在加载, 请稍后...';
                    setTimeout(getnextpagecontent, 1000);
                }
            };
        }
    
        function getnextpagecontent() {
    
            if(curpage + 1 > totalpage) {
                window.onscroll = null;
                autopbn.innerHTML = '没有更多了...';
                return;
            }
            if(loadstatus != 2 && curpage + 1 > maxpage) {
                autopbn.innerHTML = '点击加载更多';
                if(curpage + 1 > maxpage) {
                    window.onscroll = null;
                }
                return;
            }
            curpage++;
            var url = nextpageurl + '&t=' + parseInt((+new Date()/1000)/(Math.random()*1000));
            var x = new Ajax('HTML');
            x.get(url, function (s) {
                s = s.replace(/\n|\r/g, '');
                if(s.indexOf("id=\"autopbn\"") == -1) {
                    $("autopbn").innerHTML = '没有更多了...';
                    window.onscroll = null;
                }
    
                if(!picstyle) {
                    var tableobj = $('thread-list');
                    var nexts = s.match(/\<article id="normalthread_(\d+)" class="topic-visited"\>(.+?)\<\/article>/g);
                    for(i in nexts) {
                        if(i == 'index' || i == 'lastIndex') {
                            continue;
                        }
                        var insertid = nexts[i].match(/<article id="normalthread_(\d+)" class="topic-visited"\>/);
                        if(!$('normalthread_' + insertid[1])) {
    
                            var newbody = document.createElement('article');
                            tableobj.appendChild(newbody);
                            var div = document.createElement('div');
                            div.innerHTML = '<div>' + nexts[i] + '</div>';
                            tableobj.replaceChild(div.childNodes[0].childNodes[0], tableobj.lastChild);
                        }
                    }
                } else {
                    var nexts = s.match(/\<li style="width:\d+px;" id="picstylethread_(\d+)"\>(.+?)\<\/li\>/g);
                    for(i in nexts) {
                        var insertid = nexts[i].match(/id="picstylethread_(\d+)"\>/);
                        if(!$('picstylethread_' + insertid[1])) {
                            $('threadlist_picstyle').innerHTML += nexts[i];
                        }
                    }
                }
                var pageinfo = s.match(/\<div id="fd_page_bottom" class="panel-footer clearfix"\>(.+?)\<\/div\>/);
                nextpageurl = nextpageurl.replace(/&page=\d+/, '&page=' + (curpage + 1));
    
                $('fd_page_bottom').innerHTML = pageinfo[1];
                if(curpage + 1 > totalpage) {
                    autopbn.innerHTML = '没有更多了...';
                } else {
                    autopbn.innerHTML = '点击加载更多';
                }
                loadstatus = 0;
            });
        }
    
    })();
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 悠然南山行 普通会员 1楼

      在浏览器中,不同设备的CSS样式可能有所不同,这可能是因为浏览器对不同设备的渲染引擎和屏幕尺寸有不同的优化策略。另外,不同设备的浏览器可能对JavaScript的语法和执行环境有不同的支持,这也可能影响到样式和功能的实现。

      如果你想要在不同设备上都能正常显示样式,你可以使用一些设备特定的CSS属性,或者使用响应式设计来适应不同的屏幕尺寸。例如,你可以使用媒体查询来根据设备的宽度和高度来调整元素的样式,或者使用Flexbox或者Grid来创建响应式的布局。

      如果你想要使用JavaScript来实现功能,你可以在移动端使用一些特定的API或者库,例如Vue.js、React.js等。这些库通常会提供一些专门为移动端优化的特性,例如虚拟滚动、触摸事件处理等。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部