使用ajax技术无刷新动态调用股票信息(追加分时图显示)

追加了股票信息分时图。但是在测试过程中发现,img标签的src属性可能老是会去读取先前下载的缓存而无法即时更新网上的图片。希望大虾可以帮我看看,不甚感激。

<html>
<head>
    
<title>ajax test</title>
    
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    
<script type="text/javascript" src="jquery.js"></script>
    
<script type="text/javascript">
    
function ajaxRequest(){
        
var url = $("#stockurl").val() + $("#stockinit").val();
        $.ajax(
{
            url: url,
            type: 
'GET',
            dataType: 
'html',
            timeout: 
2000,
            success: 
function(response){
                
var stocks = response.split(';');
                
for(var i=0; i<stocks.length-1; i++){                    
                    
var content = stocks[i];
                    
var temp1 = content.split('=')[0];
                    
var temp2 = content.split('=')[1];
                    
var code = temp1.substr(temp1.length - 66);
                    
var temp3 = temp2.replace('"''');
                    
var name = temp3.split(',')[0];
                    
var tday_f = temp3.split(',')[1];
                    
var yest_f = temp3.split(',')[2];
                    
var curr_f = temp3.split(',')[3];
                    
var temp_f = curr_f - yest_f;
                    $(
'#o'+i).val(temp1.substr(temp1.length - 88));
                    $(
'#a'+i).html(code);
                    $(
'#b'+i).html(name);
                    
if(parseFloat(curr_f) > parseFloat(yest_f)) {
                        $(
'#c'+i).html("<font color='red'>" + curr_f + "</font>");
                    }
 else if(parseFloat(curr_f) < parseFloat(yest_f)) {
                        $(
'#c'+i).html("<font color='green'>" + curr_f + "</font>");
                    }
 else {
                        $(
'#c'+i).html(curr_f);
                    }

                    $(
'#d'+i).html(tday_f);
                    $(
'#e'+i).html(yest_f);
                    
if(parseFloat(temp_f) > 0{
                        $(
'#f'+i).html("<font color='red'>" + temp_f.toFixed(2+ "</font>");
                        $(
'#g'+i).html("<font color='red'>" + ((temp_f / yest_f) * 100).toFixed(2+ "</font> % ");
                    }
 else if(parseFloat(temp_f) < 0{
                        $(
'#f'+i).html("<font color='green'>" + temp_f.toFixed(2+ "</font>");
                        $(
'#g'+i).html("<font color='green'>" + ((temp_f / yest_f) * 100).toFixed(2+ "</font> % ");
                    }
 else {
                        $(
'#f'+i).html(temp_f.toFixed(2));
                        $(
'#g'+i).html(((temp_f / yest_f) * 100).toFixed(2+ " % ");
                    }

                    $(
'#h'+i).html(temp3.split(',')[4]);
                    $(
'#i'+i).html(temp3.split(',')[5]);
                }

            }

        }
);
    }


    $(document).ready(
function(){
    
        
var stocks = $("#stockinit").val().split(',');
        
for(var i=0; i<stocks.length; i++){
            addRows();
        }

        
        $(
"#insrow").click(function(){
        
            
var stockcd = $("#stockid").val();
            
if(stockcd == ""){
                alert(
"股票代号不能为空!");
                $(
"#stockid").focus();
                
return;
            }

            
if(stockcd.length != 6){
                alert(
"股票代号只能是6位!");
                $(
"#stockid").focus();
                
return;
            }

            
var div = 'sh';
            
if(document.getElementById("sz_id").checked){ div = "sz";}
            
var stocks = $("#stockinit").val();
            $(
"#stockinit").val(stocks + "," + div + stockcd);
            addRows();
        }
);
        
        $(
"#delrow").click(function(){
            
var table = document.getElementById("tableId");
            
var index = table.rows.length;
            
if (index < 2){
                alert(
"已经没有可删除的行了!");
            }
 else {
                table.deleteRow(index 
- 1);
                
var stockvalue = $("#stockinit").val();
                
var count = stockvalue.split(',').length;
                
if(count == 1{
                    stockvalue 
= "";
                }
 else {
                    stockvalue 
= stockvalue.substr(0, stockvalue.length - 9);
                }

                $(
"#stockinit").val(stockvalue);
            }

        }
);
        
        window.setInterval(
"ajaxRequest()",3000); 
    }
);
    
    
function addRows(){
        
var table = document.getElementById("tableId");
        
var index = table.rows.length;
        
var str="";
        
var row = index - 1;
        str
+='<tr class="tr_cls">'
        str
+='<td align="center" onMouseOver="mouseOver(' + row + ', event);" onMouseOut="mouseOut(' + row + ')"><input type="hidden" id="' + "o" + row + '"/><span id="' + "a" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "b" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "c" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "d" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "e" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "f" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "g" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "h" + row + '"></span></td>'
        str
+='<td align="center"><span id="' + "i" + row + '"></span></td>'
        str
+='</tr>';
        $(
"#tablebody").append(str);
    }

    
    
function mouseOver(row, event){
        
var stockId = $('#o'+row).val();
        
if (stockId == ""return;
        
var top, left;
        
if (navigator.appName == "Microsoft Internet Explorer"{
            left 
= event.x;
            top 
= event.y;
        }
 else {
            left 
= event.pageX;
            top 
= event.pageY;
        }

        
if (top > 300) top = top - 300;
        
var div = document.getElementById("picDiv");
        div.style.left 
= left;
        div.style.top 
= top;
        div.innerHTML 
= '<img src="http://image.sinajs.cn/newchart/min/n/' + stockId + '.gif" width="545" height="300"/>';
    }

     
    
function mouseOut(row){
         
var div = document.getElementById("picDiv");
        div.innerHTML 
= '';
    }

    
</script>
    
<style>
    .tr_cls 
{
        height
:30px;
        font-size
:16px;
        font-family
:"Times New Roman", Times, serif;
        background-color
:#FFFFCC
    
}

    
</style>
</head>
<body bgcolor="#FFCC99">
    
<form>
        
<input type="hidden" id="stockurl" value="http://hq.sinajs.cn/list=" />
        
<input type="hidden" id="stockinit" value="sh000001,sz399001,sh601939,sh600016,sh600528,sh600667,sh601390,sh601857,sz000532,sh600019,sh601111,sh601600,sh601006,sh601333,sh601398,sh601988,sh601328,sz000735,sz000972,sh601866,sh600029,sh600115" />
        
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0" >
            
<tr>
                
<td width="115px">
                    代号:
<input type="text" id="stockid" size="6">
                
</td>
                
<td width="150px">
                    区分:上海
<input type="radio" name="rad" id="sh_id" checked>深证<input type="radio" name="rad" id="sz_id">
                
</td>
                
<td width="40px">
                    
<input type="button" id="insrow" value="行追加">
                
</td>
                
<td width="495px">
                    
<input type="button" id="delrow" value="行削除">
                
</td>
            
</tr>
            
<tr>
                
<td colspan="4">
                    
<div style="overflow-y:scroll; overflow-x:auto; height:512px; width:817px">
                        
<table id="tableId" width="800" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
                            
<tr bgcolor="#3399FF" height="30px">
                                
<th scope="col">股票代号</th>
                                
<th scope="col">股票名称</th>
                                
<th scope="col">当前价格</th>
                                
<th scope="col">今日开盘</th>
                                
<th scope="col">昨日收盘</th>
                                
<th scope="col">当前差价</th>
                                
<th scope="col">涨跌幅度</th>
                                
<th scope="col">最高价格</th>
                                
<th scope="col">最低价格</th>
                            
</tr>
                            
<tbody id="tablebody">
                            
</tbody>
                        
</table>    
                    
</div>
                    
<div id="picDiv" style="position:absolute; z-index:100;background-color:#FFFFFF"></div>
                
</td>
            
</tr>
        
</table>
    
</form>
</body>
</html>
 
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值