javascript - 修改日历,以便在单击日期时打开注释

标签 javascript jquery html calendar

我有 2 个文件,calendar.htmlnotes.html,这是日历的屏幕截图:

calendar

我希望在单击日期时打开 notes.html

到目前为止,这是我的代码:

$.fn.zabuto_calendar = function(b) {
    var c = $.extend({}, $.fn.zabuto_calendar_defaults(), b);
    var a = $.fn.zabuto_calendar_language(c.language);
    c = $.extend({}, c, a);
    this
            .each(function() {
                var j = $(this);
                j.attr("id", "zabuto_calendar_" + Math.floor(Math.random() * 99999).toString(36));
                j.data("initYear", c.year);
                j.data("initMonth", c.month);
                j.data("monthLabels", c.month_labels);
                j.data("weekStartsOn", c.weekstartson);
                j.data("navIcons", c.nav_icon);
                j.data("dowLabels", c.dow_labels);
                j.data("showToday", c.today);
                j.data("showDays", c.show_days);
                j.data("showPrevious", c.show_previous);
                j.data("showNext", c.show_next);
                j.data("cellBorder", c.cell_border);
                j.data("jsonData", c.data);
                j.data("ajaxSettings", c.ajax);
                j.data("legendList", c.legend);
                j.data("actionFunction", c.action);
                j.data("actionNavFunction", c.action_nav);
                l();
                function l() {
                    var y = parseInt(j.data("initYear"));
                    var B = parseInt(j.data("initMonth")) - 1;
                    var C = new Date(y, B, 1, 0, 0, 0, 0);
                    j.data("initDate", C);
                    var D = (j.data("cellBorder") === true) ? " table-bordered"
                            : "";
                    $tableObj = $('<table class="table' + D + '"></table>');
                    $tableObj = w(j, $tableObj, C.getFullYear(), C.getMonth());

                    //Custom code
                    var i = document.getElementById('$tableObj');
                    i = w('notes.html');

                    $legendObj = g(j);
                    var z = $('<div class="zabuto_calendar" id="'
                            + j.attr("id") + '"></div>');
                    z.append($tableObj);
                    z.append($legendObj);
                    j.append(z);
                    var A = j.data("jsonData");
                    if (false !== A) {
                        r(j, C.getFullYear(), C.getMonth())
                    }
                }

你能帮我找到正确的方向吗?

最佳答案

我觉得你的代码有点复杂,难以理解。

我认为你首先应该做的是创建两个对象:

第一个对象日历

function Calendar(month,year) {
var actualDate=new Date();
    var month=(!month)?(actualDate.getMonth()):month;
    var year=(!year)?(actualDate.getFullYear()):year;
    var days=new Array();   

//DEFINE SETTERS AND GETTERS

//FOLLOWING FUNCTION SHOWS THE CALENDAR
    this.showCalendar=function(){
        var d=new Date(year,month,1);
        var result='<table summary="Calendar"><caption>'+tableMonth[month]+'</caption><thead><th>Monday</th><th>Tuesday</th><th>Wed</th><th>Thirsday</th><th>Friday</th><th>Sat</th><th>Sun</th></thead>'+
                        <tr>';

if (f.getDay()==0)
    for (i=1;i<7;i++)
        result+='<td></td>'
else
    for (i=1;i<f.getDay();i++)
        result+='<td></td>';

for (i=1;i<=days.length;i++){
    var f=new Date(year,month,i);
    if (f.getDay()==0)
        resultad+='<td>'+i+'</td></tr><tr>'
    else
        resultad+='<td>'+i+'</td>';
}
resultad+='</tr></tbody></table>';
return resultado;

}

要创建的第二个对象是注释,遵循相同的过程:

第二个对象注释:

function notes(param1,param2) {
//same process as before you define your object as you like
}

一旦您定义了两个对象,然后将 dom 与 jquery 或 javascript 结合使用,您就可以在新层或新窗口 (window.open) 中显示您的笔记,或按您喜欢的方式显示。

代码太宽,写到这里,主要思路写给大家。

关于javascript - 修改日历,以便在单击日期时打开注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664894/

相关文章:

javascript - 使用不是 Sequelize.Model 错误子类的东西调用belongsToMany

javascript - Javascript 中的视频播放器卡在隐藏/显示圈?

c# - 在 ASP.NET MVC 中,在 Controller 的操作方法之前或之中反序列化 JSON

html - Bootstrap 无法在 Ruby on Rails 应用程序中正确加载

html - Internet Explorer 布局错误

javascript - 如何在 Mocha 中查找嵌套属性/值对

javascript - 光谱颜色选择器未在平面模式下设置颜色和 alpha 值

javascript - getJSON 变量返回未定义

html - 调整元素的位置

javascript - 我可以扩展我的 div,但我该如何缩小它?