开心就好
开心就好
  • 发布:2015-11-24 23:09
  • 更新:2018-08-11 11:29
  • 阅读:4306

页面内定位到锚点,总是出现闪屏的现象。返回的时候必须按两次,好像当前页面被额外打开了一次

分类:MUI

测试手机是三星S6,SM-G9208, android5.1.1

问题代码:document.location.href="#show_year";

整页代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-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="http://ask.dcloud.net.cn/../../css/mui.min.css">
<link href="http://ask.dcloud.net.cn/../../css/mui.picker.css" rel="stylesheet" />
<link href="http://ask.dcloud.net.cn/../../css/mui.poppicker.css" rel="stylesheet" />
<!--<link href="http://ask.dcloud.net.cn/css/mui.listpicker.css" rel="stylesheet" />
<link href="http://ask.dcloud.net.cn/css/mui.dtpicker.css" rel="stylesheet" />-->
</head>

<body >
<header class="mui-bar mui-bar-nav" style="background-image:url(../../common_title_bg.png)">
<button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav mui-pull-left">
<span style="color:white;" class="mui-icon mui-icon-left-nav"></span>
</button>
<h1 style="color:white;" class="mui-title">所有课程</h1>
<a style="color:white;" id="search" class="mui-icon mui-icon-search mui-pull-right" ></a>
</header>
<footer class="mui-bar mui-bar-footer">
<a id="select_year" class="mui-btn mui-btn-link mui-pull-right">选择年份</a>
</footer>
<div class="mui-content" style="background-color: rgb(236,248,253);">
<div style="padding: 10px 15px;" >
<div id="show_year">2015</div>
</div>
<div id="month_list" class="mui-card">
<ul class="mui-table-view mui-table-view-chevron">
<li id="month_1" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="1">一月</a>
</li>
<li id="month_2" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="2">二月</a>
</li>
<li id="month_3" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="3">三月</a>
</li>
<li id="month_4" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="4">四月</a>
</li>
<li id="month_5" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="5">五月</a>
</li>
<li id="month_6" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="6">六月</a>
</li>
<li id="month_7" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="7">七月</a>
</li>
<li id="month_8" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="8">八月</a>
</li>
<li id="month_9" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="9">九月</a>
</li>
<li id="month_10" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="10">十月</a>
</li>
<li id="month_11" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="11">十一月</a>
</li>
<li id="month_12" class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" value="12">十二月</a>
</li>
</ul>
</div>

</div>    
<script src="../../js/update.js" type="text/javascript" charset="utf-8"></script>  
<script src="../../js/mui.min.js" type="text/javascript" charset="utf-8"></script>    
<script src="../../js/mui.picker.js"></script>  
<script src="../../js/mui.poppicker.js"></script>  
<script src="../../js/app.js"></script>  
<!--<script src="js/mui.listpicker.js" type="text/javascript" charset="utf-8"></script>  
<script src="js/mui.dtpicker.js" type="text/javascript" charset="utf-8"></script>-->  

<script type="text/javascript" charset="utf-8">  
        var tmp_data = [{"CourseID":"01122","timeSegment":"08:00~10:00","OrgID":"0000001","OrgName":"海豚教育","CourseName":"高二物理1","bSubmited":1,"bConfirmed":1},{"CourseID":"01123","timeSegment":"10:00~12:00","OrgID":"0000002","OrgName":"优学教育","CourseName":"一对一王思聪","bSubmited":0,"bConfirmed":0}];                
        mui.init();  
        mui.plusReady(function() {  
            plus.webview.currentWebview().setStyle({  
                scrollIndicator: 'none'  
            });  
            (function($, doc) {  
                $.init();  
                $.ready(function() {  
                    //普通示例  
                    var userPicker = new $.PopPicker();  
                    userPicker.setData([{  
                        value: '2015',  
                        text: '2015年'  
                    }, {  
                        value: '2016',  
                        text: '2016年'  
                    }, {  
                        value: '2017',  
                        text: '2017年'  
                    }, {  
                        value: '2018',  
                        text: '2018年'  
                    }, {  
                        value: '2019',  
                        text: '2019年'  
                    }, {  
                        value: '2020',  
                        text: '2020年'  
                    }]);  
                    var showUserPickerButton = doc.getElementById('select_year');  
                    //var userResult = doc.getElementById('userResult');  
                    showUserPickerButton.addEventListener('tap', function(event) {  
                        userPicker.show(function(items) {  
                            //userResult.innerText = JSON.stringify(items[0]);  
                            doc.getElementById('show_year').innerText = items[0].value;  
                            document.location.href="#show_year";  
                            //返回 false 可以阻止选择框的关闭  
                            //return false;  
                        });  
                    }, false);  
                });  
            })(mui, document);  
        });  

        function saveData(date_str, server_data){  
            var myDate = new Date();  
            app.setStorageValue(date_str,'');  
            app.setStorageValue(date_str,JSON.stringify(server_data));  

            //记录最后的访问时间,以此判断是否需要从服务器重新获取数据  
            app.setStorageValue(date_str "_lastVisit",'');  
            app.setStorageValue(date_str "_lastVisit",myDate.getTime().toString());  

        };  

// <ul class="mui-table-view mui-table-view-chevron">
// <li class="mui-table-view-cell">
// <a class="mui-navigate-right" href="http://ask.dcloud.net.cn/un_submit.html">08:00~10:00 海豚教育物理</a>
// </li>
// <li class="mui-table-view-cell"><a class="mui-navigate-right" href="http://ask.dcloud.net.cn/submit.html">10:00~12:00 优学教育英语</a>
// </li>
// <li class="mui-table-view-cell"><a class="mui-navigate-right" href="http://ask.dcloud.net.cn/submit.html">13:00~15:00 学大教育语文</a>
// </li>
// </ul>

        function appendDate(value, content, data, obj){  
            //apend data  

            obj.innerHTML = '<a class="mui-navigate-right" value="' value '">' content '</a>';  
            var ul='<ul class="mui-table-view mui-table-view-chevron">';  
            for(var o in data) {  
                ul  = '<li class="sub_li mui-table-view-cell"><a class="mui-navigate-right"';//onclick="  
                ul  = ' value="';  
                if(data[o].bSubmited == 1) {  
                    ul  = data[o].CourseID  '|1">';  
                } else {  
                    ul  = data[o].CourseID  '|0">';  
                }  

                ul  = data[o].timeSegment   " "   data[o].OrgName   data[o].CourseName;  
                ul  = '</a></li>';  

// alert(o ":" ul);
}
ul = '</ul>';
// alert(ul);
// alert("brefor:" obj.innerHTML);
obj.innerHTML = ul;
// alert(obj.innerHTML);
};
var bSub_li = false;
mui("#month_list").on('tap','ul>li>ul>li a',function(){
bSub_li = true;
var value = this.getAttribute("value");
//传值给详情页面,通知加载新数据
var detailPage = null;

              var index = value.indexOf("|1");  
              if(index > 0) {  
                var value_rel = value.substr(0,index);  
                detailPage = plus.webview.getWebviewById('submit');  
                  //mui.fire(detailPage,'getDetail',{id:id});  

                  mui.fire(detailPage,'courseID',{  
                    id:value_rel  
                  });  
                  mui.openWindow({  
                    id:'submit',  
                    url:'submit.html',  
                    show:{  
                        aniShow:'none'  
                    },  
                    waiting:{  
                        autoShow:false  
                    }  
                  });  
              } else {  
                index =  value.indexOf("|0");  
                var value_rel = value.substr(0,index);  
                detailPage = plus.webview.getWebviewById('un_submit');  
                  //mui.fire(detailPage,'getDetail',{id:id});  
                  mui.fire(detailPage,'courseID',{  
                    id:value_rel  
                  });  

                  mui.openWindow({  
                    id:'un_submit',  
                    url:'un_submit.html',  
                    show:{  
                        aniShow:'none'  
                    },  
                    waiting:{  
                        autoShow:false  
                    }  
                  });  
              }  

            });  

        mui("#month_list").on('tap','ul>li a',function(){  
            if(bSub_li == true) {  
                bSub_li = false;  
                return;  
            }  
            var value = this.getAttribute("value");  
            var content = this.innerHTML;  
            var myDate = new Date();  
            //alert(document.getElementById("show_year").innerText);  
            var key_lastVisit = document.getElementById('show_year').innerText "_" value "_lastVisit";  
            var key = document.getElementById('show_year').innerText "_" value;  
            if(myDate.getTime() - app.getStorageValue(key_lastVisit)*1 > 5*50*1000) {  
                saveData(document.getElementById('show_year').innerText "_" value, tmp_data);  
            }  
            //alert(this.parentElement.innerHTML);  
            appendDate(value, content, JSON.parse(app.getStorageValue(key)), this.parentElement);  
        });  

        document.getElementById("search").addEventListener('tap',function(){  
            mui.openWindow({  
                url: '../consume/search.html',  
                id: 'search',  
                show: {  
                    aniShow: 'pop-in'  
                },  
                waiting: {  
                    autoShow: false  
                }  
            });  
        });  

</script>  

</body>
</html>

2015-11-24 23:09 负责人:无 分享
已邀请:
Chirs_Evans

Chirs_Evans

你好,不设置href 要设置什么呢?

开心就好

开心就好 (作者)

找到原因了,都是href害的,谨慎使用

  • 全球公敌

    具体描述一下呢?

    2015-11-27 00:25

  • 开心就好 (作者)

    document.location.href="#show_year"

    就是这一句

    反正所有的a标签,尽量都不要用href

    2015-11-27 22:47

1***@qq.com

1***@qq.com

同样的问题,怎样解决的

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