如何使用javascript平滑地向下滚动页面

如何使用javascript平滑地向下滚动页面,javascript,Javascript,函数scrollWin(){ setInterval(函数(){for(var i=0;i

函数scrollWin(){
setInterval(函数(){for(var i=0;i<1250;i++){
滚动到(0,i);}},3);
}
li{
浮动:左;
列表样式:无;
利润率:10px;
}
.重置{
明确:两者皆有;
}
div{
宽度:500px;
高度:600px;
背景颜色:蓝色;
利润率:20px;
}
  • 关于
  • 侧面图
  • 接触
关于
我正在用php编写一个示例代码,如果循环第二次运行,滚动条就会出现,就像我希望你问的问题一样。 因此,首先定义一个变量,然后在循环中增加它,如下所示:

<?php
$i=1;
for(condition;condition;condition){
     //your code here
     $i++;
}

if($i<1){
 echo '<script>
         $(".yourdivclass").css("overflow","scroll");
       </script>';
}
?>

这一点JavaScript应该能很好地执行您的要求。我有一把小提琴,我把它作为一个使用示例。请检查一下,如果有任何问题请告诉我

功能平滑滚动(x,y){
var b=document.body;
var xIncrement=1;
var yIncrement=1;
var scrollY=函数(){
i增量+=1;
window.scroll(b.scrollLeft,b.scrollTop+yIncrement);
如果(b.滚动顶部0){
卷轴();
}
如果(x>0){
scrollX();
}
}

我们还需要更多。事实上,我不认为你知道你在问什么。JQuery已经有了一个滚动方法,JQuery的简化使它更加有趣。在做你自己的之前,先试试这些。我认为你不理解JavaScript中异步编程的本质。请参阅下面我的答案,并在此处阅读有关JavaScript的更多信息:
function smoothScroll(x, y) {
    var b = document.body;
    var xIncrement = 1;
    var yIncrement = 1;
    var scrollY = function () {
        yIncrement += 1;
        window.scroll(b.scrollLeft, b.scrollTop + yIncrement);
        if (b.scrollTop < y) {
            if (requestAnimationFrame) {
                requestAnimationFrame(scrollY);
            } else {
                setTimeout(scrollY, 15);
            }
        }
    };
    var scrollX = function () {
        xIncrement += 1;
        window.scroll(b.scrollLeft + xIncrement, b.scrollTop);
        if (b.scrollLeft < x) {
            if (requestAnimationFrame) {
                requestAnimationFrame(scrollX);
            } else {
                setTimeout(scrollX, 15);
            }
        }
    };
    if (y > 0) {
        scrollY();
    }
    if (x > 0) {
        scrollX();
    }
}