0

问题:滚动到 jQuery 对话框中的特定位置

我的网站上有一个内联日期选择器,它显示当前月份的日历。如果用户单击任何日期,我将显示来自 Feed 的日历事件列表。

代码如下:

<div id="datepicker" style="font: 80% 'Trebuchet MS', sans-serif;"></div>
                            <script  type="text/javascript">
                                var caldate;
                                $("#datepicker").datepicker();
                                $("#datepicker").change(function() {
                                    caldate = $(this).val(); 

                                    $("#dialog").dialog({
                                        bgiframe: true,
                                        maxHeight: 450,
                                        width: 600,
                                        modal: true,
                                        draggable: true,
                                        resizable: false,
                                        position: 'center',
                                        show: { effect: "fade", duration: 600 },
                                        hide: { effect: "fade", duration: 600 }
                                    });
                                });
                            </script>
                            <div id="dialog" title="Calendar Events">DisplayFeed("Calendar Events")</div>

DisplayFeed 从 html 帮助程序类中检索数据,并正确显示数据。

现在的障碍是当用户在 datepicker 内联中选择特定日期时。我需要从对话框列表中滚动到选定日期发生的事件。

我试图在 div 对话框中获取 html。当我尝试 document.getElementByID("#dialog").innerHTML 比较日期和选择期间捕获的 caldate 时,我得到的错误是未定义的。

任何能让我朝着正确方向前进的想法都会有很大帮助。

谢谢你。

4

1 回答 1

0

通过添加由事件日期生成的特殊 div ID(将日期转换为 Linux 时间戳并作为 ID 添加到 div)解决了该问题,对于每个事件。

然后通过将所选日期转换为 Linux 时间戳并document.getElementById(linuxtimestamp.toString()).scrollIntoView()在 javascript 中使用,滚动到所选日期发生的事件。

于 2013-03-28T04:06:28.720 回答