[模仿][JS]新浪财经7*24直播

使用新浪财经7*24直播的数据

简单的做一个山寨品

在线地址:[痛苦啊,有GFW,却没有vpn,往heroku上传浪费了好多时间。。。]

http://wangxinsheng.herokuapp.com/sinaFinLive

效果图:

---

代码:

css:直接使用新浪的

index[代码简单,不写注释了]:

  1 <html>
  2 <head>
  3 <title>新浪财经[7*24直播]</title>
  4 <link rel="stylesheet" href="live_fin_v1.css">
  5 <script src='jquery-1.11.1.min.js'></script>
  6 </head>
  7 <body>
  8 <style>
  9 .bd_topic{cursor:pointer;}
 10 </style>
 11 <div class="wrap clearfix">
 12     <div class="bd_weibo">
 13         <div class="bd_tt clearfix">
 14             <div class="bd_topics clearfix">
 15                 <span class="bd_topic bd_topic_cur" onclick='setTagAndGet(0,this);'>全部</span>
 16                 <span class="bd_topic"><a  onclick='setTagAndGet(10,this);'>A股</a></span>
 17                 <span class="bd_topic"><a  onclick='setTagAndGet(1,this);'>宏观</a></span>
 18                 <span class="bd_topic"><a  onclick='setTagAndGet(2,this);'>行业</a></span>
 19                 <span class="bd_topic"><a  onclick='setTagAndGet(3,this);'>公司</a></span>
 20                 <span class="bd_topic"><a  onclick='setTagAndGet(4,this);'>数据</a></span>
 21                 <span class="bd_topic"><a  onclick='setTagAndGet(5,this);'>市场</a></span>
 22                 <span class="bd_topic"><a  onclick='setTagAndGet(6,this);'>观点</a></span>
 23                 <span class="bd_topic"><a  onclick='setTagAndGet(7,this);'>央行</a></span>
 24                 <span class="bd_topic"><a  onclick='setTagAndGet(8,this);'>其他</a></span>
 25             </div>
 26             <div class="bd_refresh clearfix">
 27                 <div class="refresh_ck">
 28                     <label class="autorefreshlb" for="autorefresh"><span class="autorefreshsecs">X</span><span class="autorefreshlbtxt">秒后刷新</span></label>
 29                 </div>
 30             </div>
 31         </div>
 32         <div class="bd_c">
 33             <div class="bd_c0" id="bd_c0">
 34                 <!-- data list -->
 35             </div>
 36         </div>
 37     </div>
 38 </div>
 39 <script>
 40 /*
 41 // 文字转16进制
 42 var toUnicode = function (s) { 
 43     var str = ""; 
 44     for (var i = 0; i < s.length; i++) { 
 45         str +="\\u"+s.charCodeAt(i).toString(16)+"\t"; 
 46     } 
 47     return str; 
 48 } 
 49 var a = '胜多负89%少'; 
 50 
 51 document.write(toUnicode(a));    // \u80dc    \u591a    \u8d1f    \u5c11 
 52 // 16进制转文字
 53 var toStr = function (n){ 
 54     var str = ""; 
 55     var s = n.split('\\u'); 
 56     for(var i = 0;i < s.length;i++){ 
 57         str += String.fromCharCode(parseInt(s[i],16))+"\t"; 
 58     } 
 59     return str; 
 60 } 
 61 var b = "\\u80dc    \\u591a    \\u8d1f    \\u5c11\\u3002\\u8fbe";
 62 b = "\\u53d1\\u6539\\u59d4\\u6279\\u51c6\\u5efa\\u8bbe\\u9999\\u683c\\u91cc\\u62c9\\u81f3\\u4e3d\\u6c5f\\u516c\\u8def\\uff0c\\u9879\\u76ee\\u9884\\u8ba1\\u6295\\u8d44203\\u4ebf\\u5143\\u4eba\\u6c11\\u5e01\\u3002    \\u65b0\\u6d6a\\u4e8b\\u4ef6\\u76f4\\u64ad";
 63 
 64 document.write(toStr(b));    // 胜    多    负    少
 65 */
 66 // 时间戳转日期
 67 function getDate(tm){ 
 68 var tt=new Date(parseInt(tm) * 1000);//.toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); 
 69 return tt; 
 70 }
 71 // 数据取得或的callBack方法
 72 function t14222533(data){
 73     if(data.result.status.code==0){
 74         if(data.result.data.length>0){
 75             //append
 76             for(var i = data.result.data.length-1;i >=0;i--){
 77                 var item = data.result.data[i];
 78                 var day = getDate(item.created_at);
 79                 var dayName = day.getFullYear()+""+((day.getMonth()+1)<10?'0'+(day.getMonth()+1):(day.getMonth()+1))+""+(day.getDate()<10?'0'+day.getDate():day.getDate())+"";
 80                 var timeName = ((''+day.getHours()).length<2?('0'+day.getHours()):day.getHours())+":"+((''+day.getMinutes()).length<2?('0'+day.getMinutes()):day.getMinutes())+":"+((''+day.getSeconds()).length<2?('0'+day.getSeconds()):day.getSeconds());
 81                 var tmpStr = oneData.replace(/\{\%today\%\}/g,dayName).replace(/\{\%id\%\}/g,item.id).replace(/\{\%day\%\}/g,dayName).replace(/\{\%time\%\}/g,timeName).replace(/\{\%tag\%\}/g,'').replace(/\{\%content\%\}/g,item.content);
 82                 var display = 'none';
 83                 tmpStr = tmpStr.replace(/\{\%display\%\}/g,display);
 84                 $("#bd_c0").prepend(tmpStr);
 85 
 86                 $("div[data-today='"+dayName+"']").find(".bd_date").hide();
 87                 $("div[data-today='"+dayName+"']").eq(0).find(".bd_date").show();
 88                 /* 隐藏当天日期
 89                 var toDay =    new Date();
 90                 todayName=toDay.getFullYear()+"年"+((toDay.getMonth()+1)<10?'0'+(toDay.getMonth()+1):(toDay.getMonth()+1))+"月"+(toDay.getDate()<10?'0'+toDay.getDate():toDay.getDate())+"日";
 91                 $("div[data-today='"+todayName+"']").find(".bd_date").hide();
 92                 */
 93                 id = item.id;
 94             }
 95         }
 96                 
 97         $(".autorefreshsecs").html(maxTime);
 98         clearTimeout(setTimeoutObj);
 99         setTimeoutObj = setTimeout(animate,1000);
100         //console.log('go');
101     }else{
102         console.log(data);
103     }
104 }
105 /*
106 http://live.sina.com.cn/zt/api/f/get/finance/globalnews1/index.htm?format=json&callback=t14222547&id=114975&tag=0&pagesize=15&dire=b&dpc=1
107 
108 http://live.sina.com.cn/zt/api/f/get/finance/globalnews1/index.htm?format=json&callback=t14222533&id=114986&tag=0&pagesize=45&dire=f&dpc=1
109 
110 t14222533({"result":{"status":{"code":0,"msg":"\u83b7\u53d6\u6210\u529f, succ"},"pageStr":{"totalPage":1,"pageSize":45,"prePage":1,"nextPage":1,"firstPage":1,"lastPage":1,"totalNum":1,"pName":"page","page":1,"paramStr":"http:\/\/live.sina.com.cn\/zt\/api\/app_zt\/f\/get\/finance\/globalnews1\/index.htm\/?format=json&callback=t14222533&id=114986&tag=0&pagesize=45&dire=f&"},"data":[{"id":"114988","mid":"3803267903335890","sp_id":"152","uid":"3969238805","content":"\u53d1\u6539\u59d4\u6279\u51c6\u5efa\u8bbe\u9999\u683c\u91cc\u62c9\u81f3\u4e3d\u6c5f\u516c\u8def\uff0c\u9879\u76ee\u9884\u8ba1\u6295\u8d44203\u4ebf\u5143\u4eba\u6c11\u5e01\u3002","source":"<a href=\"http:\/\/app.weibo.com\/t\/feed\/6n8uPl\" rel=\"nofollow\">\u65b0\u6d6a\u4e8b\u4ef6\u76f4\u64ad<\/a>","created_at":"1422253192","original_pic":"","pic_ids":"","video":"","reposts":0,"comments":0,"attitudes":0,"pmid":"0","re_mid":"0","re_uid":"0","re_content":"","re_source":"","re_created_at":"0","re_original_pic":"","re_pic_ids":"","re_video":"","re_reposts":"0","re_comments":"0","re_attitudes":"0","is_audit":"1","is_launch":"0","is_del":"0","creator":"yongliang3","mender":"","created_time":"1422253192","modified_time":"0","notes":"","user":{"id":3969238805,"idstr":"3969238805","class":1,"screen_name":"fin_\u56fe\u6587\u76f4\u64ad","name":"fin_\u56fe\u6587\u76f4\u64ad","province":"11","city":"1000","location":"\u5317\u4eac","description":"","url":"","profile_image_url":"http:\/\/tp2.sinaimg.cn\/3969238805\/50\/5690088076\/1","profile_url":"u\/3969238805","domain":"","weihao":"","gender":"m","followers_count":1849,"friends_count":2,"pagefriends_count":0,"statuses_count":72181,"favourites_count":0,"created_at":"Wed Jan 08 15:47:33 +0800 2014","following":false,"allow_all_act_msg":false,"geo_enabled":true,"verified":false,"verified_type":-1,"remark":"","ptype":0,"allow_all_comment":true,"avatar_large":"http:\/\/tp2.sinaimg.cn\/3969238805\/180\/5690088076\/1","avatar_hd":"http:\/\/ww4.sinaimg.cn\/crop.0.0.179.179.1024\/ec95c715jw1ecc6o54vfcj2050050aad.jpg","verified_reason":"","verified_trade":"","verified_reason_url":"","verified_source":"","verified_source_url":"","follow_me":false,"online_status":0,"bi_followers_count":0,"lang":"zh-cn","star":0,"mbtype":0,"mbrank":0,"block_word":0,"block_app":0,"credit_score":80,"urank":11},"base62mid":"C1n0OdZOG","base62pmid":"","base62re_mid":"","pic_ids_plus":"","re_pic_ids_plus":"","tag":[{"tag_id":"2","tag_name":"\u884c\u4e1a"}]}]}});
111 */
112 
113 var oneData = '<div class="bd_list" data-today="{%today%}">'
114                     +'<div class="bd_i bd_i_og bd_i_1st clearfix " data-id="{%id%}">'
115                     +'<div class="bd_date" style="display:{%display%};">{%day%}<!--2015年1月1日--></div>'
116                     +'<div class="bd_i_time clearfix">'
117                         +'<p class="bd_i_time_c">{%time%}<!--19:32:37--></p>'
118                         +'<p class="bd_i_tags"> {%tag%}<!--类型-->&nbsp;</p>'
119                     +'</div>'
120                     +'<div class="bd_i_c">'
121                         +'<div class="bd_i_txt clearfix">'
122                             +'<p class="bd_i_txt_c">{%content%}</p>'
123                         +'</div>'
124                     +'</div>'
125                 +'</div>';
126                                           
127 var scriptStr = "<script id=\'getData\' src=\'{%url%}\'><\/script>";
128 var pagesize = 10;
129 var tag = 0;
130 var urlStr = 'http://live.sina.com.cn/zt/api/f/get/finance/globalnews1/index.htm?format=json&callback=t14222533&id={%id%}&tag={%tag%}&pagesize={%pagesize%}&dire=f&dpc=1';
131 var id = '114765';
132 var orgId = '114765';
133 var scriptObj = null;
134 var maxTime = 60;
135 var setTimeoutObj = null;
136 function getData(){
137     $('#getData').remove();
138     var urlTmp = urlStr.replace(/{%id%}/g,id).replace(/{%pagesize%}/g,pagesize).replace(/{%tag%}/g,tag);
139     scriptObj = $((scriptStr.replace(/{%url%}/g,urlTmp))); 
140     $('body').append(scriptObj);
141     //console.log(scriptObj);
142 }
143 $(function(){
144     var urlTmp = urlStr.replace(/{%id%}/g,id).replace(/{%pagesize%}/g,pagesize).replace(/{%tag%}/g,tag);
145     scriptObj = $((scriptStr.replace(/{%url%}/g,urlTmp))); 
146     $('body').append(scriptObj);
147     $(".autorefreshsecs").html(maxTime);
148 });
149 function animate(){
150     var time = parseInt($(".autorefreshsecs").html())-1;
151     $(".autorefreshsecs").html(time);
152     //console.log(time);
153     if(time==0){
154         getData();
155     }else{
156         clearTimeout(setTimeoutObj);
157         setTimeoutObj = setTimeout(animate,1000);
158     }
159 };
160 function setTagAndGet(tag,obj){
161     $(".autorefreshsecs").html(maxTime);
162     $("#bd_c0").html('');
163     clearTimeout(setTimeoutObj);
164     $('.bd_topic_cur').removeClass('bd_topic_cur');
165     $(obj).addClass('bd_topic_cur');
166     id=orgId;
167     tag=tag
168     $('#getData').remove();
169     var urlTmp = urlStr.replace(/{%id%}/g,id).replace(/{%pagesize%}/g,pagesize).replace(/{%tag%}/g,tag);
170     scriptObj = $((scriptStr.replace(/{%url%}/g,urlTmp))); 
171     $('body').append(scriptObj);
172 }
173 
174 </script>
175 
176 </body>
177 </html>

 ---

CSDN下载:

http://download.csdn.net/detail/wangxsh42/8398785

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值