解析XML和Javascript函数的问题
Parse XML and Javascript functions issue
我需要创建一个倒计时脚本,从XML文件中读取截止日期
XML文件:
<?xml version="1.0" ?>
<Imskia ID="Ramadan2012">
<day date="2012, 7 - 1, 23">
<Fagr>3:26</Fagr>
<Shrok>5:22</Shrok>
<Dohr>12:02</Dohr>
<Asr>3:38</Asr>
<Maghrb>6:57</Maghrb>
<Ishaa>8:27</Ishaa>
</day>
<day date="2012, 7 - 1, 24">
<Fagr>3:26</Fagr>
<Shrok>5:22</Shrok>
<Dohr>12:02</Dohr>
<Asr>3:38</Asr>
<Maghrb>6:59</Maghrb>
<Ishaa>8:27</Ishaa>
</day>
</Imskia>
这里是HTML文件中的Javascipt:
$(document).ready(function(){
$.get('test.xml', function(d){
$(d).find('day').each(function(){
var $day = $(this);
var date = $day.attr("date");
var Maghrb = $day.find('Maghrb').text();
$('body').append($(html));
//countdown
$('#defaultCountdown').countdown({
until: new Date(date), timezone: +2
});
});
});
});
问题是倒计时脚本没有从XML文件中读取变量存储日期,但手动放置时效果良好,如下所示:
//countdown
$('#defaultCountdown').countdown({
until: new Date(2012, 7 - 1, 24), timezone: +2
});
进行时
var date = $day.attr("date");
date
保存字符串文字(对于第一种情况为"2012, 7 - 1, 23"
)。您需要做的是以某种方式将这个字符串文字转换为JavaScriptDate
对象。如果您可以在月份组件中不做减法(即,将日期字符串保持为"2012, 6, 23"
,那么获取日期的最简单方法是
// split along the commas to get an array
var dateComponents = $day.attr("date").split(', ');
var date = new Date(dateComponents[0], dateComponents[1], dateComponents[2]);
请注意,new Date()
(月份组件)的第二个参数为0索引,因此1月为0,12月为11。
您可以将倒计时更改为
$('#defaultCountdown').countdown({
until: date, timezone: +2
});
但是,如果更改日期的格式不是的选项,eval
应该可以帮助您将减法字符串转换为其实际值。在这种情况下,代码将是
// split along the commas to get an array
var dateComponents = $day.attr("date").split(', ');
var date = new Date(dateComponents[0], eval(dateComponents[1]), dateComponents[2]);
相关文章:
- IE9的HTML5 Canvas getImageData()函数存在问题
- javascript中的特定函数出现问题
- 运行Infinite Scroll后调用函数时出现问题
- jQuery使用ajax自动完成问题-TypeError:this.source不是函数
- 将代码放入click函数时出现javascript问题
- 使用setInterval调用原型函数时出现问题
- 在HTML中调用函数时出现问题
- 异步中的回调函数出现问题'张贴'
- Jquery函数返回订单问题
- 带有 JavaScript 随机数函数的未知问题
- 关于函数的Javascript问题 - IIFE
- 作用域问题-此函数是否形成闭包-JavaScript
- 用于异步函数中的循环和定时问题
- Createjs冲突问题localToLocal不是函数错误
- 使用Breeze脱机数据时出现未定义的问题不是函数
- 尝试将变量传递到对象中时的作用域问题'的方法构造函数
- Javascript函数变量传递语法问题
- 函数范围问题-函数未定义
- Javascript作用域问题:函数在$(doc).ready()中可用,但在事件处理程序中不可用
- 实现“喜欢”功能的问题.函数只工作一次