学习学习
学习学习
  • 发布:2015-09-18 15:00
  • 更新:2015-09-18 15:00
  • 阅读:1566

动态更新页面bug

分类:MUI
mui

我在页面底部写了一个播放器,用js动态的更新进度和剩余播放时间。通过log可以看到js确实更新了进度和时间,但是页面上的展示的时间和进度一直不动,除非用手不停的拖动页面才显示。
还有个就是,我发现去掉播放先css里面bottom:0;这个就可以动态更新了,不过这样播放器就不是固定到底部了。
代码
html:

<div class="mui-content ">  
            <!--播放器-->  
            <div id="playerControl" class="playerContainer ">  
                <div class="playBtn" style="padding: 10px;">  
                    <img id="PlayButton" class="" src="../images/player/pause.png" style="height: 100%;" />  
                </div>  
                <div class="progressBackground">  
                    <div id="Progress"></div>  
                </div>  
                <div id="UnplayTime">0:00</div>  
            </div>  
</div>

csss:

/*player*/  
.playerContainer{ padding-left:1px;background-color: #00697F; height: 50px; position: fixed;  bottom: 0;  width: 100%; display: none;}  
.playBtn{float: left; height: 50px;}  
.progressBackground{margin: 20px 0px; width: 70%; height: 10px; float: left; background: #4CBED8;}  
#Progress{ background: #C0F4FF; height: 10px;}  
#UnplayTime{float:right; margin: 16px 0px; text-align: center; color: #C2F3FF; }

js:

/*播放器*/  
            var player = null;  
            var playerControl = document.getElementById("playerControl");  
            var duration = 0;  
            var postion = 0;  
            var time = "";  
            var timeInterval = null;  
            var playButton = document.getElementById("PlayButton");  

            function play(audiourl) {  
                    initPlayer();  
                    player = plus.audio.createPlayer(audiourl);  
                    startPlay();  
                }  
                //初始化播放器  

            function initPlayer() {  
                    if (timeInterval != null) {  
                        clearInterval(timeInterval);  
                    }  
                    if (player != null) {  
                        player.stop();  
                    }  
                    document.getElementById("Progress").style.width = "0%";  
                    document.getElementById("UnplayTime").innerText = "0:00";  
                    playButton.className = "play";  
                }  
                //退出页面销毁播放器  

            function destroyPlayer() {  
                console.log("destroyPlayer");  
                if (player != null) {  
                    player.stop();  
                    player = null;  
                }  
                if (timeInterval != null) {  
                    clearInterval(timeInterval);  
                    timeInterval = null;  
                }  
                mui(".playing").each(function(index, item) {  
                    item.src = "../images/3/music_but@3x.png";  
                    item.className = "audio_url";  
                });  
                playerControl.style.display = "none";  
                playButton.className = "";  
            }  

            function playerProgress() {  
                    duration = player.getDuration();  
                    postion = player.getPosition();  
                    var precent = Math.floor((postion * 100) / duration);  
                    document.getElementById("UnplayTime").innerText = getTime(duration - postion);  
                    document.getElementById("Progress").style.width = precent + "%";  
                    playerControl.style.bottom = "0";  
                    playerControl.style.zIndex = 100;  
                }  
                //开始播放  

            function startPlay() {  
                    document.getElementById("PlayButton").src = "../images/player/pause.png";  
                    playerControl.style.display = "block";  
                    timeInterval = setInterval(playerProgress, 1000);  
                    player.play(playFinish, function(e) {  
                        alert("Audio play failed: " + e.message);  
                        destroyPlayer();  
                    });  
                }  
                //播放完毕  

            function playFinish() {  
                destroyPlayer();  
            }
2015-09-18 15:00 负责人:无 分享
已邀请:

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