javascript 实现在线多币种汇率实时换算

本文介绍了一种使用JavaScript和Yahoo汇率接口实现在线多币种汇率实时换算的方法。通过jsonp技术获取汇率数据,并利用jQuery库进行定时更新,确保数据接近实时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行效果图:

    

实现原理:

      利用jsonp思路,巧妙编写 yahoo汇率接口(http://finance.yahoo.com/connection/currency-converter-cache?date=当前日期)回调函数, 通过定时执行(每5秒数更新一次汇率数据的方法),达成近似实时的汇率换算

依赖:jquery.js

实现: 

新建网页 huilv.html ,内容如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<script src="jquery.js"></script>
<script src="huilv.js"></script> 
</head>
<body>
<div t="y_huilv"><input name="src" /><select name='srcCon'></select> <input name="out" /><select name='outCon'></select></div>
<div t="y_huilv"><input name="src" /><select name='srcCon'></select> <input name="out" /><select name='outCon'></select></div>
</body>
</html>

新建huilv.js,内容如下

var YAHOO = YAHOO||{};
YAHOO.DATA=YAHOO.DATA||{};
YAHOO.DATA['USD']=1;
YAHOO.Finance= {
	CurrencyConverter: {
		addConversionRates: function(data) {
			var resources = data.list.resources;
			YAHOO.DATA=YAHOO.DATA||{};
			for (var i in resources) {
				try{
					var res = resources[i].resource.fields;
					var name = res.symbol.replace("=X", "");
					var price = res.price;
					YAHOO.DATA[name]=price;
				}catch(e){
				}
			}
			YAHOO.JITS.each(function(){
				jit.find("input[name=src]").change();
			})
		}
	}
}
YAHOO.item=function(){
	var dateStr=YAHOO.format(new Date(),'yyyyMMdd');
	var url = "http://finance.yahoo.com/connection/currency-converter-cache?date="+dateStr;
	var script = document.createElement('script');
	script.setAttribute('src', url);
	document.getElementsByTagName('head')[0].appendChild(script); 
	YAHOO.JITS.each(function(){
		$(this).find("[name=src]").change();
	})
};

YAHOO.init=function(jits){
	YAHOO.JITS=jits;
	try{
		if(YAHOO.GID!=undefined){
	 		clearInterval(YAHOO.GID);
		}
	}catch(e){
	}
	jits.each(function(){
		var jit=$(this);
		var items="<option selected='selected' value='USD'>美元 (USD)</option><option value='CNY'>人民幣 (CNY)</option><option value='HKD'>港
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值