您现在的位置:首页 >> 前端 >> 内容

基于JQuery及JSON的TwitchTV直播应用

时间:2017/3/10 9:13:00 点击:

  核心提示:基于JQuery及JSON的TwitchTV直播应用,这是一款通过JSON把Twitch TV中部分播主的直播状态获取到页面的应用,界面如下: (点击ONLINE或OFFLINE可以仅显示在线或离线的...

基于JQuery及JSON的TwitchTV直播应用,这是一款通过JSON把Twitch TV中部分播主的直播状态获取到页面的应用,界面如下:

基于JQuery及JSON的TwitchTV直播应用

(点击ONLINE或OFFLINE可以仅显示在线或离线的播主,点击ALL STREAMS则显示所有播主)

基于JQuery及JSON的TwitchTV直播应用

(蓝色打勾则是正在直播的播主,红色叉叉则是离线播主)

(点击蓝色名字播主,即可进入其直播间)

JQuery:
 

$(document).ready(function() {
  
    //希望获取的播主的名称,这个数组可以按照自己的需要增删播主
    var streamer = ["freecodecamp", "storbeck", "terakilobyte", "habathcx", "RobotCaleb", "thomasballinger", "noobs2ninjas", "beohoff", "TR7K", "ESL_SC2", "Sad_Junior", "brunofin", "Monstercat", "LobosJR", "Zfg1"];
    var html = "";
  
    //这个url用于离线播主的头像显示
    var logoUrl = "https://pbs.twimg.com/profile_images/2349866958/m9pjwl1x1n3nvzf8x8rc.png";
  
    //遍历每一个数组内的播主
    streamer.forEach(function(e) {
        //使用$.getJSON()获取数据
        //url中的client_id需要自己去到twitch内注册登录后在后台获取
        $.getJSON('https://api.twitch.tv/kraken/streams/' + e + '?client_id=fzbbk79fm2hjsqemyxcgfhhmqebtvw&callback=?', function(data) {
            if (data.stream === null) {
                html += "<p class='item' id='offline'><p class='item-child item-icon'><img src='" + logoUrl + "'></p><p class='item-child item-name offline'>" + e + "</p><p class='item-child item-status'><i class='fa fa-times' aria-hidden='true'></i></p></p>";
                $(".container").html(html);
            } else if (data.error !== null && data.error !== undefined) {
                html += "<p class='item' id='offline'><p class='item-child item-icon'><img src='" + logoUrl + "'></p><p class='item-child item-name offline'>" + e + "</p><p class='item-child item-status'><i class='fa fa-ban' aria-hidden='true'></i></p></p>";
                $(".container").html(html);
            } else {
                html += "<p class='item' id='online'><p class='item-child item-icon'><img src='" + data.stream.channel.logo + "'></p><p class='item-child item-name'><a href='" + data.stream.channel.url + "' target='_blank' class='online'>" + e + "</a></p><p class='item-child item-status'><i class='fa fa-check' aria-hidden='true'></i></p></p>";
                $(".container").html(html);
            }
        });
    });
  
    //以下是三个按钮的监听事件
    $("#pickOnline").click(function() {
        $("[id='online']").show();
        $("[id='offline']").hide();
    });
    $("#pickOffline").click(function() {
        $("[id='offline']").show();
        $("[id='online']").hide();
    });
    $("#pickAll").click(function() {
        $(".item").show();
    });
  
});

 

Tags:基于 于J JQ QU 
作者:网络 来源:Alens Blog