Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将事件列表滚动到给定月份的第一个事件_Javascript_Jquery - Fatal编程技术网

Javascript 将事件列表滚动到给定月份的第一个事件

Javascript 将事件列表滚动到给定月份的第一个事件,javascript,jquery,Javascript,Jquery,我有一个存储在mysql中的事件列表(课程、讲座等)。我使用php在网页上的div中按日期列出它们。我一次列出六个月的活动,每个月都有一个按钮。当按下其中一个按钮时,我希望列表滚动到该月的第一个事件。i、 e.您按下六月按钮,它将滚动到六月的第一个事件。我不熟悉javascript和jQuery,但我本以为可以在web上找到一个示例,但我的搜索结果是空的。如果有任何建议或建议,我将不胜感激。谢谢 如果您提供示例代码,可能会有所帮助。我不熟悉PHP,但您所看到的主要是HTML 我假设在PHP中有一

我有一个存储在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在每个月的顶部放置一个标记非常有效。现在我可以从一个月跳到另一个月了。现在来了解滚动。再次感谢你的帮助。