javascript现货股票代码拉错了名字

时间:2015-05-19 22:16:10

标签: javascript jquery google-finance

我目前有一个javascript股票代码,可以提取实时股票数据。我真的想要公司名称以及股票丙烯酸,但我正在努力让这个工作。

我这样做的一种方法是在文本中强制使用股票名称。它似乎运行良好,但代码不断运行重复结果。虽然我是javascript的新手,但我相信这与i ++和3段代码有关。

我已经创建了一个jsfiddle,试图更好地理解这一点,希望能让事情变得更加清晰。

任何有关如何删除重复的帮助将不胜感激。

https://jsfiddle.net/7o3dgwgq/

{{1}}
亲切的问候, 萨姆

2 个答案:

答案 0 :(得分:0)

你能试试吗?。

方法:

  1. 创建3个不同的<DIV>元素,并使用data tags指定要获取的股票报价和要显示的标题。例如:<div class="stockinfo" data-symbol="EPA:PIG" data-title="HAULOTTE"></div>
  2. 所有元素共享同一个类stockinfo
  3. 然后我们在stockinfo类上使用选择器并遍历所有元素。
  4. 对于每个元素,从外部资源获取JSON并附加结果。
  5. &#13;
    &#13;
    var gstock = ["EPA:PIG","LON:AHT","NYSE:URI"];
    $(document).ready(function () {
        $(".stockinfo").each(function(indx,itm){
            var divContainer =  $(itm);
            $.getJSON("https://finance.google.com/finance/info?client=ig&q="+divContainer.data('symbol')+"&callback=?", function (response) {
                var stockInfo1 = response[0];
                var stockString1 = '<div class="stockWrapper">' + divContainer.data('title') + ':';
                var stockName1 = stockInfo1.t;             
                stockString1 += '<span class="stockSymbol "> '  +  stockInfo1.t + ' </span>';
                stockString1 += '<span class="stockPrice "> '  +  stockInfo1.l  + '</span>';
                stockString1 += '<span class="stockChange "> '  +  stockInfo1.c + '</span>';
                stockString1 += '<span> at</span> <span class="stockTime">'  + stockInfo1.ltt + '</span>';
                stockString1 += '</div>';
                divContainer.append(stockString1);
    
            });
        
        });
    });
    &#13;
    .stockWrapper {
        display: block;
        padding-top: 5px;
        font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
       font-weight: 300;
       border-bottom: 1px solid #E5DDD2;
    }
    
    
    .stockSymbol {
        font-weight: 600;
    }
    
    .stockPrice {
        font-weight: 600;
        color: red;
    }
    
    .stockChange {
        font-weight: 600;
        color: green;
    }
    
    .stockTime {
        font-weight: 600;
        color: grey;  
    font-size: smaller; 
    }
    
    h2 {
        font-size: 1.5em;
    }
    
    p {
        margin-bottom: 0.5em;
    }
    .symbol { 
        float: left;
        margin-right: 3px;
    }
    .symbol .name { display: block }
        
    .symbol.up { background: #70DB70 }
    .symbol.up .change { color: green }
        
    .symbol.down { background: #f7cdc2 }
    .symbol.down .change { color: red }
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <div class="stockinfo" data-symbol="EPA:PIG" data-title="HAULOTTE"></div>
    <div class="stockinfo" data-symbol="LON:AHT" data-title="ASHTEAD"></div>
    <div class="stockinfo" data-symbol="NYSE:URI" data-title="UNITED RENTALS"></div>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:0)

而不是gstock是字符串数组,它是对象数组,持有acryonm, 的companyName。

.

试试这个link