Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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 有没有更好的方法防止在点击href时整个页面滚动?_Javascript_Jquery_Html_Href - Fatal编程技术网

Javascript 有没有更好的方法防止在点击href时整个页面滚动?

Javascript 有没有更好的方法防止在点击href时整个页面滚动?,javascript,jquery,html,href,Javascript,Jquery,Html,Href,我正在尝试使用JavaScript制作日历。它工作正常,除了单击下一个/上一个V形图标时,整个页面向下滚动,而不是仅滚动日历动画。我想这是因为通过更新href可以在月份之间切换。因此,由于页面的其余部分找不到href,它会滚动到底部 我尝试添加preventDefault()和returnfalse,这会阻止整个页面滚动。不幸的是,它也扰乱了日历页面滚动到下个月。使用preventDefault()或返回false在$(“#角度向下”)。单击(功能(e)或$(“#角度向上”)。单击(功能(e))

我正在尝试使用
JavaScript
制作日历。它工作正常,除了单击下一个/上一个V形图标时,整个页面向下滚动,而不是仅滚动日历动画。我想这是因为通过更新href可以在月份之间切换。因此,由于页面的其余部分找不到href,它会滚动到底部

我尝试添加
preventDefault()
returnfalse,这会阻止整个页面滚动。不幸的是,它也扰乱了日历页面滚动到下个月。使用
preventDefault()
返回false
$(“#角度向下”)。单击(功能(e)
$(“#角度向上”)。单击(功能(e)
),日历滚动不再工作

我想不出怎么解决这个问题。非常感谢你的帮助

我做了一个剪接,这样你就可以看到代码的作用

//检查闰年
功能isLeap(年){
如果(第%4年==0){
返回29;
}否则{
返回28;
}
}
const days=[“Sonntag”、“Montag”、“Dienstag”、“Mittwoch”、“Donnerstg”、“Freitag”、“Samstag”];
常量月份=[“一月”、“二月”、“马尔兹”、“四月”、“五月”、“六月”、“朱莉”、“八月”、“九月”、“奥克托伯”、“十一月”、“德州”]
//此数组提供了仅30天的月份索引。9月=9
常数三十=[9,4,6,11];
设d=新日期();
设currentMonth=d.getMonth();
让currentDate=d.getDate();
让currentDay=d.getDay();
让currentYear=d.getFullYear();
//显示月份的限制
设maxMonths=32;
//根据所选日期创建文本。
$(“#selectedDate”).text(`${currentDate}.${months[currentMonth]}${currentYear}`);
$(“#月h3”).text(`${months[currentMonth]}${currentYear}`);
//要获取其他月份的天数,请在12个月内创建一个循环
对于(设j=1;j-1){
var lastDay=30;
}否则如果(当前月==2){
var lastDay=isLeap(当前年份);
}否则{
var lastDay=31;
}
//循环查看月份中的天数以创建日期平铺
for(设i=1;i

这与
position:sticky
(与
position:absolute
)有关。我以前在生产中遇到过modals的问题。您是否需要将元素设置为
position:sticky

您可以对类似的用户体验使用
position:fixed
,其中模式浮动在内容的顶部


(请随意向下滚动,这样您就可以看到潜在的“跳转”到页面顶部)

这与
位置:粘性
(与
位置:绝对
相同的问题)。我以前在制作modals时遇到过这个问题。您是否需要将元素设置为
位置:粘性

您可以对类似的用户体验使用
position:fixed
,其中模式浮动在内容的顶部


(请随意向下滚动,这样您就可以看到一个潜在的“跳转”到页面顶部)

非常感谢!成功了!:)我更改了我的CSS及其工作原理。非常感谢!成功了!:)我更改了我的CSS及其工作原理。