晚上好,先生们,我遇到了一个难题,我不确定这是否是解决此问题的正确方法,但现在开始......基本上我正在创建一个动态日历,目前我正在处理回月功能(你点击箭头,它返回)我有一个 jquery 函数可以启动其他函数 onclick,到目前为止一切正常,日历在一个月前重新绘制,月份的名称返回一个,但是我在设置时遇到问题一年前 1,进一步详细说明...月份名称由 ajax 查询 (php) 重新绘制,它运行良好,据我所知,我的 javascript 也应该运行良好。基本上每当它回到一年前,我都会在 <div id = "placeholder>
中存储一个数字用作引用点。这听起来很复杂,希望代码会更有意义,如果有人能找到更好的方法来做到这一点,请告诉我:
j查询:
$(document).ready(function() {
$("#changeMonthBack").click(function() {
//ajax query for month title
function(data) {
//responce is here
//set year (n)
var placeholder = parseInt($("#placeholder").attr('class'),10);
if(str == 1 && placeholder == ""){
var d = new Date();
var n = d.getFullYear();
n = n - 1;
$("#placeholder").addClass("1");
}
else if(str == 1 && placeholder != ""){
var d = new Date();
var n = d.getFullYear();
n = n - placeholder;
var temp = placeholder + 1;
$("#placeholder").removeClass(""+placeholder+"");
$("#placeholder").addClass(""+temp+"");
}
else{
var d = new Date();
var n = d.getFullYear();
}
$("#monthYear").html(data +" "+ n);
HTML:
<li title = "Previous Month" id = "changeMonthBack"></li>
<div id = "placeholder"></div><!-- holder for year js -->
<div id = "monthYear">
目前在进入 2013 年之后,它给我一个 NaN 错误。任何帮助都会很可爱。如果有更多信息可以帮助,请告诉我
最佳答案
如果你这样做:
$(document).ready(function() {
var placeholder = 0;
$("#changeMonthBack").click(function() {
//....
function(data) {
//responce is here
//set year (n)
if(str == 1 && placeholder === 0) {
var d = new Date();
var n = d.getFullYear();
n = n - 1;
placeholder = 1;
}
else if(str == 1 && placeholder > 0) {
var d = new Date();
var n = d.getFullYear();
n = n - placeholder;
placeholder++;
}
}
//....
});
});
您现在可以在click
处理程序(以及更深的嵌套函数)中使用变量placeholder
,因为您的嵌套函数可以访问外部闭包中定义的变量。
现在您无需为在 DOM 中存储数据而烦恼。
关于jquery - 使用 javascript 存储 future 数学的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14945572/