jquery - 使用 javascript 存储 future 数学的值

标签 jquery algorithm

晚上好,先生们,我遇到了一个难题,我不确定这是否是解决此问题的正确方法,但现在开始......基本上我正在创建一个动态日历,目前我正在处理回月功能(你点击箭头,它返回)我有一个 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/

相关文章:

javascript - 选择选择菜单中的第一个动态元素

php - 在 javascript 上使用 onClick 增加变量值并在 HTML 表单上显示新值

algorithm - 从硬盘中排序大量整数

javascript - 如果已经使用 Jquery 检查,需要帮助取消选中单选按钮

javascript - 从 tinymce 中的浏览器上下文菜单捕获 'Cut' 事件

javascript - jQuery Cycle2 悬停时反转

匹配两个矩形的位置和大小的算法

algorithm - 将列表分层为无序分区

algorithm - 连接 PCM 文件的算法是什么?

algorithm - 为什么我们要检查一个数的平方根以确定该数是否为质数?