Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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_Html_Css - Fatal编程技术网

Javascript 如何在添加元素时平滑滚动?

Javascript 如何在添加元素时平滑滚动?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我通过点击两个箭头来制作无限滚动框!我通过加/减15px来完成每个滚动。通过添加现有元素,我检测到滚动左最小值和最大值,以进行无限滚动,但其滚动范围不会达到15。它滚动到整个div宽度。在我添加元素而不是元素宽度后,如何使其滚动到15px $left.clickfunction{ var left=$round.scrollLeft-15; ifleft==-15{ $round div:type.remove.prependToround的最后一个; } $round.scrollLeft;

我通过点击两个箭头来制作无限滚动框!我通过加/减15px来完成每个滚动。通过添加现有元素,我检测到滚动左最小值和最大值,以进行无限滚动,但其滚动范围不会达到15。它滚动到整个div宽度。在我添加元素而不是元素宽度后,如何使其滚动到15px

$left.clickfunction{ var left=$round.scrollLeft-15; ifleft==-15{ $round div:type.remove.prependToround的最后一个; } $round.scrollLeft; }; $right.clickfunction{ var left=$round.scrollLeft+15; ifleft==315{ $round div:type.remove.appendoround中的第一个; } $round.scrollLeft; }; :-webkit滚动条{ 宽度:0px;/*删除滚动条空间*/ 背景:透明;/*可选:仅使滚动条不可见*/ } /*可选:以红色显示位置指示器*/ :-webkit滚动条拇指{ 背景:透明; } 圆的{ 最大宽度:500px; 最大高度:100px; 宽度:500px; 高度:100px; 边框:1个实心bbb; 溢出:自动; 显示:-webkit内联框; 位置:相对位置; } 圆div{ 宽度:200px; 身高:继承; } 一个{ 背景:红色; } 两个{ 背景:粉红色; } 三{ 背景:绿色; } 四{ 背景:3939; } 跨度{ 位置:固定; 边框:1个实心bbb; 填充:10px; 背景:RGBA255255.5; 颜色:eee; 顶部:30px; 光标:指针; } 左{ 左:10px; } 对{ 左:475px; } 1. 2. 3. 4.
您可以这样修改代码。当你到达左边==15时,你可以考虑在左边添加新元素的宽度,然后滚动。在右侧执行相同的操作,但删除而不是添加:

$left.clickfunction{ var left=$round.scrollLeft-15; 如果左==-15{ $round div:type.remove.prependToround的最后一个; 左=$round.scrollLeft+$round div.width-15; } $round.scrollLeft; }; $right.clickfunction{ var left=$round.scrollLeft+15; 如果左=315{ $round div:type.remove.appendoround中的第一个; 左=$round.scrollLeft-$round div.width+15; } $round.scrollLeft; }; :-webkit滚动条{ 宽度:0px; /*删除滚动条空间*/ 背景:透明; /*可选:只需使滚动条不可见*/ } /*可选:以红色显示位置指示器*/ :-webkit滚动条拇指{ 背景:透明; } 圆的{ 最大宽度:500px; 最大高度:100px; 宽度:500px; 高度:100px; 边框:1个实心bbb; 溢出:自动; 显示:-webkit内联框; 位置:相对位置; } 圆div{ 宽度:200px; 身高:继承; } 一个{ 背景:红色; } 两个{ 背景:粉红色; } 三{ 背景:绿色; } 四{ 背景:3939; } 跨度{ 位置:固定; 边框:1个实心bbb; 填充:10px; 背景:rgba255、255、255、.5; 颜色:eee; 顶部:30px; 光标:指针; } 左{ 左:10px; } 对{ 左:475px; } 1. 2. 3. 4.
我可以像这样左+/-=$round div.width;在你的回答中@DavidJorHpan是的,当然,它甚至更好,所以你有一个通用代码。我也更新了我的答案。我使用了固定值,因为我在css中看到它是固定的;