Javascript 将事件列表滚动到给定月份的第一个事件
我有一个存储在mysql中的事件列表(课程、讲座等)。我使用php在网页上的div中按日期列出它们。我一次列出六个月的活动,每个月都有一个按钮。当按下其中一个按钮时,我希望列表滚动到该月的第一个事件。i、 e.您按下六月按钮,它将滚动到六月的第一个事件。我不熟悉javascript和jQuery,但我本以为可以在web上找到一个示例,但我的搜索结果是空的。如果有任何建议或建议,我将不胜感激。谢谢 如果您提供示例代码,可能会有所帮助。我不熟悉PHP,但您所看到的主要是HTML 我假设在PHP中有一个循环(可能是Javascript 将事件列表滚动到给定月份的第一个事件,javascript,jquery,Javascript,Jquery,我有一个存储在mysql中的事件列表(课程、讲座等)。我使用php在网页上的div中按日期列出它们。我一次列出六个月的活动,每个月都有一个按钮。当按下其中一个按钮时,我希望列表滚动到该月的第一个事件。i、 e.您按下六月按钮,它将滚动到六月的第一个事件。我不熟悉javascript和jQuery,但我本以为可以在web上找到一个示例,但我的搜索结果是空的。如果有任何建议或建议,我将不胜感激。谢谢 如果您提供示例代码,可能会有所帮助。我不熟悉PHP,但您所看到的主要是HTML 我假设在PHP中有一
while
),它迭代从MySQL返回的每个项目,然后打印事件细节
下面是一些伪代码
$monthOfLastEvent = null;
for each result received from mysql
$monthOfThisEvent = ?; # You have to capture 'month' from the 'date', perhaps with substr
if($monthOfThisEvent != $monthOfLastEvent) {
print "<div id=\"month$monthOfThisEvent\"></div>"; # place a marker just before that event
$monthOfLastEvent = $monthOfThisEvent;
}
... # here is where you print the event details
}
$monthOfLastEvent=null;
对于从mysql收到的每个结果
$monthofthisfevent=?#您必须从“日期”开始捕获“月份”,可能需要使用substr
如果($monthOfThisEvent!=$monthoftlastEvent){
打印“”;#在该事件之前放置一个标记
$monthOfLastEvent=$monthOfThisEvent;
}
... # 这里是您打印事件详细信息的位置
}
这样的代码,当用PHP语言编写时,将输出类似HTML的内容
<div id="month1"></div>
event in month 1
event in month 1
<div id="month2"></div>
event in month 2
etc
第一个月的活动
第一个月的活动
第二个月的活动
等
链接到您的月份将被删除
<a href="#month1">Month 1</a>
<a href="#month2">Month 2</a>
etc.
等
这些被称为HTML书签或HTML锚定。基本上,使用
href=“#x”
将使您看到网页中包含id=“x”
的元素。通常最好提供您现在正在做的事情的示例代码,特别是您如何在MySQL中迭代每个项目,以便我们可以更具体地向您提供建议。谢谢George Bailey。我没有考虑过每个月都有自己的div。这会给我一个简单的id。我确实想“滚动”到月份,而不仅仅是跳到它,但我认为有了一个“id”来指向,我可以找到一种方法使滚动工作。谢谢你的帮助。是的,搜索“平滑滚动到锚定”可能会找到答案。如果没有,你可以单独提问欢迎来到StackOverflow!使用div在每个月的顶部放置一个标记非常有效。现在我可以从一个月跳到另一个月了。现在来了解滚动。再次感谢你的帮助。