作者:Truly
日期:2007.7.31

近期Post了不少Javascript文章,还是收到不少支持,你们的回复是我写下去的动力,谢谢你们!

刚刚研究了一下新浪的财经板块,其中对股票数据的处理真的是跟我的MVC模式的文章不谋而合啊。我顺手写了2段代码,大家看看。

Stock.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Truly's stock</title>
    <script src=data.js></script>
    <style>
/* change_color */
.incolor{color:#FF0000;}
.decolor{color:#008000;}
#itemTickettime
{
    font-size:12px;
}
span,div{font-size:12px;}
    </style>
</head>

<body>
<script id=vsdata></script>
<input id=mystock value='000001'><br><br>
<input id='sh' type=radio name='type' checked value=1>sh<input type=radio name='type' value=2>sz
<br><br>
<input type=button value=' Go ' onclick='loadMyStockList()'> <input type=button value=' Stop ' onclick='stopFresh()'><br><br>
<div class="tbtb01">
<span id='name'></span>
<div><span id="itemMarket">-</span> <span id='code'></span> &nbsp;&nbsp;昨收<span id='s'></span>&nbsp;&nbsp;今开<span id='k'></span></div>
</div>
<div class="tbtb02">
<h3 id="itemCurrent" class="incolor">-</h3>
<span class="fRed01" id="itemcurrprice">-</span>&nbsp;&nbsp;<span class="fRed01" id="itemDiffpercent">-</span>
<span id="itemTickettime">-</span>
</div>
</body>
</html>

Data.js

var AppConf = {
    Interval_1s:1*1000,
    Interval_AginReq:500,
    url:'http://hq.sinajs.cn/format=js&func=S_Finance.upconstants.setData();&list='

};

function $(id){return document.getElementById(id);};
function $C(nodeName){return document.createElement(nodeName);};
function gt(){if($('sh').checked) return 'sh'+$('mystock').value;return 'sz'+$('mystock').value;}
var timer;
var itemCurrent;
function loadMyStockList()
{
    itemCurrent = $("itemCurrent");
    fullcode=gt();
    clearInterval(timer);
    timer = setInterval("Truly.load_data_script(AppConf.url+gt(),'vsdata');", 1000);
}
function stopFresh()
{
    clearInterval(timer);
}
var jk,zs;
var currprice,currnum;
var _A=function(t,c){t.appendChild(c)};
var fullcode = 'sh600390';
var Truly = {
    load_data_script:function(url,idname)
    {
        var h = new Date().getHours();
        var m = new Date().getMinutes();
        if(h < 9 || (h>15) || (h == 15&& m>10)) stopFresh();
        var obj=$(idname);
        if(obj){obj.parentNode.removeChild(obj);};
        var newscript=$C("script");
        newscript.type="text/javascript";
        newscript.src=url;
        newscript.id=idname;
        _A(document.body,newscript);
    }
}
var S_Finance={};
S_Finance.upconstants={itemTickettime:null,servertime:null,
setData:function(){
    this.itemTickettime=$("itemTickettime").innerHTML;
    eval("this.hq_str_symbol = hq_str_"+fullcode);
    if(this.hq_str_symbol!=null && this.hq_str_symbol!=undefined && this.hq_str_symbol!="undefined" && this.hq_str_symbol!="")
    {
        this.chgedary=new Array();
        this.chgedarylen=0;
        this.cacheidx=0;
        this.setValue(this.hq_str_symbol);
        this.initflag=1;
    }
    else
    {
        setTimeout(this._updata._Bind(this),AppConf.Interval_AginReq);
        return true;
    };
    this.setFlash=function(tid)
    {
        var _tidColor=$(tid).style.color;
        setTimeout(function(){$(tid).style.color="#000000";},400);
        setTimeout(function(){$(tid).style.color=_tidColor;},600);
        setTimeout(function(){$(tid).style.color="#000000";},800);
        setTimeout(function(){$(tid).style.color=_tidColor;},1000);
    };
    if(this.itemTickettime!=$("itemTickettime").innerHTML)
    {
        $("itemcurrprice").style.fontFamily="Arial";
        $("itemcurrprice").style.fontSize="11px";
        $("itemDiffpercent").style.fontFamily="Arial";
        $("itemDiffpercent").style.fontSize="11px";
        this.setFlash("itemCurrent");
        this.setFlash("itemcurrprice");
        this.setFlash("itemDiffpercent");
    };
    return true;
},
    setValue:function(data)
    {
        var dataContent=data;
        if(dataContent){
            dataContent.replace("\r","");dataContent.replace("\n","");
            var dataArray=dataContent.split(",");
            var arrayLen=dataArray.length;
        }
        $("itemTickettime").innerHTML=dataArray[30]+" "+dataArray[31];
        $("itemCurrent").innerHTML=dataArray[3];
        $("name").innerHTML=dataArray[0];
        $("code").innerHTML=fullcode;
        currprice = (dataArray[3]*1000-dataArray[2]*1000)/1000;
        currnum=(dataArray[3]*1000-dataArray[2]*1000)/(10*dataArray[2]);
        $("itemcurrprice").innerHTML=currprice;
        $("itemDiffpercent").innerHTML= Math.round(currnum*100)/100 + '%';
        jk=dataArray[1];
        zs=dataArray[2];
        
        $("k").innerHTML=jk;
        $("s").innerHTML=zs;
        if(dataArray[3] >zs) itemCurrent.style.color='#FF0000';
        else if(dataArray[3] ==zs) itemCurrent.style.color='#000000';
        else itemCurrent.style.color='#008000';
        $("itemcurrprice").style.color=itemCurrent.style.color;
        $("itemDiffpercent").style.color=itemCurrent.style.color;
    }
}

呵呵,写的很简单就不往首页放了。大家慢慢看,玩股票的兄弟们祝你们都赚到钱,不玩股票的就多研究研究技术。这里下载源码。

enjoy code!

转载于:https://www.cnblogs.com/Truly/archive/2007/07/31/838157.html

JavaScript随笔一篇相关推荐

  1. 请求时才延迟加载JavaScript文件 - 优化篇

    技术关键词 · 收集: 阻塞浏览器.并行下载.竞态条件.关联函数(关联JavaScript代码).非阻塞请求.动态创建<script>标签.异步下载.延时加载 代码实例: 下面我们先看一段 ...

  2. 学习javascript这一篇就够了超详细笔记(建议收藏)上

    学习javascript这一篇就够了超详细笔记(建议收藏)上 1.初识 计算机基础导读 编程语言 计算机基础 初识js 浏览器执行 js组成 js初体验-三种书写位置 js注释 js输入输出语句 2. ...

  3. 【JavaScript笔记 · 基础篇(五)】Array全家桶(引用数据类型中的数组 / Array对象 / Array.prototype)

    文章目录 一. 引用数据类型中的数组 1.1 概述 1.2 初始化 1.2.1 字面量 1.2.2 构造函数模式 1.3 访问 1.4 length属性 1.5 数组遍历 1.6 类数组对象 1.6. ...

  4. ArcGIS API for JavaScript之基础篇(二)

    ArcGIS API for JavaScript之基础篇(二) 上一篇文章介绍了Map MapView SceneView的基本知识以及简单的demo.最近几天学习了WebMap WebScene ...

  5. JavaScript的1000+篇文章总结

    JavaScript的1000+篇文章总结 本文收集和总结了有关JavaScript的1000+篇文章,由于篇幅有限只能总结近期的内容,想了解更多内容可以访问:http://www.ai2news.c ...

  6. 学会JavaScript这一篇就够了~

    文章目录 [One] JavaScript语言基础 一.数据类型 1.数值型 2.字符串型 3.布尔型 二.常量和变量 1.常量 2.变量--例子:输出球员的信息 三.运算符 1.算术运算符--例子: ...

  7. 爬虫不得不学之 JavaScript 函数对象篇

    今天好像是情人节?所以最适合面向对象,JavaScript 也有对象,我们也可以随时面向对象,方便得很,那怎样才有对象呢?下面告诉你! 1. 数组 数组,字面意思就是一堆数的组合,但是它是有顺序的,学 ...

  8. JavaScript优化基本篇

    本文章适合于与作者一样想要学习JavaScript的的"非前台专业"的大学生或者后台工程师. 如果,你想进行进一步的优化,那么请点击JavaScript性能优化小知识点总结 个人笔 ...

  9. JavaScript的入门篇

    快速认识JavaScript 熟悉JavaScript基本语法 窗口交互方法 通过DOM进行网页元素的操作 学会如何编写JS代码 运用JavaScript去操作HTML元素和CSS样式 <!DO ...

最新文章

  1. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡
  2. 【深度学习】EfficientNetV2分析总结和flops的开源库
  3. Java Spring研究之initHandlerMappings - MavenSandbox debug
  4. 【北斗】北斗卫星导航系统(BDS)介绍
  5. 下列哪项属于正确的锁定计算机桌面,【2018年职称计算机考试WindowsXp练习题及答案1】- 环球网校...
  6. c语言位运算符的使用_C语言程序使用位运算符检查给定数字是否为回文
  7. 笔记:区分文件头lang=”zh”和lang=”zh-cn”的使用??
  8. 转:GCC,LLVM,Clang编译器对比
  9. [线筛五连]线筛约数个数
  10. udp buffer 和reassemble buffer
  11. arcgis server发布自定义打印模板及利用ArcGIS API javascript使用自定义打印服务打印地图
  12. 在照片上添加水印怎么弄?三个简单方法分享给你
  13. Excel2016 怎么做数据分类汇总
  14. 如何在NLP领域做成一件事by周明ACL计算语言学会候任主席(附PDF公号发“NLP做事”下载rar讲座PPT等10文件)
  15. Elasticsearch:跨集群复制 Cross-cluster replication(CCR)
  16. 《推荐系统实践》- 项亮
  17. 微星主板黑苹果_安装黑苹果,选对硬件能少熬几天夜……
  18. java设计模式-备忘录模式
  19. 分析型数据库(Analytic DB)概述
  20. 【android:位置传感器——使用近程传感器】

热门文章

  1. ibm+x3650+m4+linux+raid驱动,IBM X3650M4阵列卡驱动下载
  2. mysql 导出 没有函数_没有MYSQL FILE函数的CSV导出
  3. python性能解决_我们如何发现并解决Python代码中性能下降的问题
  4. Java BufferedReader skip()方法与示例
  5. bfs广度优先搜索算法_图的广度优先搜索(BFS)
  6. 银行账务转账系统(事务处理)
  7. php 载入css就可以显示,如何在进度条加载后显示页面
  8. 【莫队】区间众数(Codeforces Round #716 (Div. 2) D)
  9. linux 卸载sphinx,sphinx管理脚本,实现sphinx启动、关闭、重启、生成索引功能 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...
  10. 08-图9 关键活动 (30 分