国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

自定義播放條及數(shù)據(jù)更新

kk_miles / 3285人閱讀

2017年,第一天上班寫文章,過(guò)年在家沒(méi)條件,農(nóng)村的娃不容易啊。。

以上過(guò)濾掉吧,先看下本文要實(shí)現(xiàn)的效果

這只是播放效果,至于為什么沒(méi)有把數(shù)據(jù)更新效果弄出來(lái),主要是不想,,哈哈

熟練JS的玩家們看到這樣就會(huì)想到setInterval吧,,沒(méi)錯(cuò)這個(gè)就是用setInterval來(lái)實(shí)現(xiàn)的,,

下面看下HTML結(jié)構(gòu)吧


  • 雷達(dá)

    代碼沒(méi)有貼全,因?yàn)槠渌牟恍枰!?/p>

    接著來(lái)看下JS部分

    // 雷達(dá)
    function radarFn() {
        var radarDatas = [
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612080855.png","time":"08:55","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612080904.png","time":"09:04","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612080919.png","time":"09:19","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612080931.png","time":"09:31","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612080943.png","time":"09:43","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612080954.png","time":"09:54","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612081005.png","time":"10:05","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612081018.png","time":"10:18","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612081031.png","time":"10:31","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612081031.png","time":"10:31","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]},
            {"image":"http://cdn.caiyunapp.com/res/storm_radar/radar_CN01_nmc_fast/201612081031.png","time":"10:31","lonlat":[3.9079,71.928151770494,57.9079,134.86564822951]}
        ];
    
        var autoPlay = null,
            imageLayer = null,
            index = 0,
            once = true;
        function play(radarData) {
            // 重置索引
            index = 0;
            // 重置進(jìn)度
            $(".zh-playbar dd .zh-cur").width(0);
            //  清除間隔動(dòng)畫
            if(autoPlay !== null) {
                clearInterval(autoPlay);
                autoPlay = null;
            }
            // 清除圖片
            if(imageLayer !== null) {
                map.remove(imageLayer);
                imageLayer = null;
            }
            // 生成節(jié)點(diǎn)
            var rdLength = radarData.length,
                ddWth = $(".zh-playbar dd").width(),
                liWth = (ddWth/rdLength).toFixed(4),
                li = "";
            for(var i=0; i"+radarData[i].time+"";
            }
            $(".zh-playbar dd ul").html(li);
    
            // 切換圖片
            function switchImgFn() {
                if(imageLayer !== null) {
                    map.remove(imageLayer);
                    imageLayer = null;
                }
                index++;
                if(index > rdLength) {
                    index = 0;
                }
                if(radarData[index-1]) {
                    imageLayer = new AMap.ImageLayer({
                        map: map,
                        url: radarData[index-1].image,
                        bounds: new AMap.Bounds([radarData[index-1].lonlat[1], radarData[index-1].lonlat[0]], [radarData[index-1].lonlat[3], radarData[index-1].lonlat[2]]),
                    });
                }
                $(".zh-playbar dd .zh-cur").width(index*liWth);
            }
    
            // 播放判斷
            if($(".zh-playbar dt").hasClass("active") && $("#op_radar").hasClass("active") && autoPlay === null) autoPlay = setInterval(switchImgFn, 1000); // 播放
    
            // 播放/暫停
            $(".zh-playbar dt").off("click");
            $(".zh-playbar dt").on("click", function() {
                if($(this).hasClass("active")) {
                    $(this).removeClass("active");
                    clearInterval(autoPlay); // 暫停
                    autoPlay = null;
                } else {
                    $(this).addClass("active");
                    autoPlay = setInterval(switchImgFn, 1000); // 播放
                }
            });
            // 顯示/隱藏
            $("#op_radar").off("click");
            $("#op_radar").on("click", function() {
                if($(this).hasClass("active")) {
                    $(this).removeClass("active");
                    $(".zh-playbar").removeClass("active"); // 隱藏播放條
                    if(imageLayer !== null) imageLayer.hide(); // 隱藏圖片
                    clearInterval(autoPlay); // 暫停
                    autoPlay = null;
                } else {
                    $(this).addClass("active");
                    $(".zh-playbar").addClass("active"); // 顯示播放條
                    if(imageLayer !== null) imageLayer.show(); // 顯示圖片
                    if(once) { // 第一次點(diǎn)擊會(huì)自動(dòng)播放
                        $(".zh-playbar dt").addClass("active");
                        once = false;
                    }
                    if($(".zh-playbar dt").hasClass("active")) autoPlay = setInterval(switchImgFn, 1000); // 播放
                }
            });
        }
    
        // 初始狀態(tài)
        if($("#op_radar").hasClass("active")) {
            $(".zh-playbar").addClass("active"); // 顯示播放條
            $(".zh-playbar dt").addClass("active"); // 播放狀態(tài)
        }
    
        // 初始執(zhí)行(這里可以使用ajax請(qǐng)求來(lái)的數(shù)據(jù))
        play(radarDatas);
    
        // 8分鐘重新請(qǐng)求數(shù)據(jù)(這里可以使用ajax請(qǐng)求來(lái)的數(shù)據(jù))
        setInterval(function() {
            var length = Math.round(Math.random()*radarDatas.length);
                length = length == 0 ? 1 : length;
            var testData = radarDatas.slice(0, length);
            play(testData);
        }, 8*60*1000);
    }

    細(xì)看一下代碼不多,不用深究,粗略看下知道怎么回事就行了。。

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81386.html

    相關(guān)文章

    • 記錄一波video.js的使用及問(wèn)題

      摘要:最近的項(xiàng)目中需要播放視頻,鑒于元素的一些坑及不想自己造輪子,于是就找到了端播放視頻使用量最多的插件,是國(guó)外開(kāi)發(fā)者開(kāi)發(fā)的,英語(yǔ)本身就不好的我看英文文檔簡(jiǎn)直是折磨,國(guó)內(nèi)又沒(méi)有中文文檔,能搜的到的基本是簡(jiǎn)單的使用及最基本的的介紹,想要實(shí)現(xiàn)一些自定 最近的項(xiàng)目中需要播放視頻,鑒于html5元素的一些坑及不想自己造輪子,于是就找到了web端播放視頻使用量最多的插件video.js,video.j...

      crossoverJie 評(píng)論0 收藏0
    • 從零實(shí)現(xiàn)一個(gè)定義html5播放

      摘要:寫在最前本次的分享是一個(gè)基于標(biāo)簽實(shí)現(xiàn)的一個(gè)自定義視頻播放器。其中實(shí)現(xiàn)了播放暫停進(jìn)度拖拽音量控制及全屏等功能。核心思路我相信一定會(huì)有些沒(méi)有接觸過(guò)制作自定義播放器的童鞋對(duì)于標(biāo)簽的認(rèn)識(shí)會(huì)停留在此。整個(gè)視頻播放器的基礎(chǔ)功能實(shí)現(xiàn)的還算完善。 寫在最前 本次的分享是一個(gè)基于HTML5標(biāo)簽實(shí)現(xiàn)的一個(gè)自定義視頻播放器。其中實(shí)現(xiàn)了播放暫停、進(jìn)度拖拽、音量控制及全屏等功能。歡迎關(guān)注我的博客,不定期更新中—...

      張遷 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    最新活動(dòng)
    閱讀需要支付1元查看
    <