在js中怎么设置滚动条滚动的距离

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在js中怎么设置滚动条滚动的距离相关的知识,希望对你有一定的参考价值。

jQuery获取的相关方法

jquery 获取滚动条高度

获取浏览器显示区域的高度 : 
$(window).height(); 
获取浏览器显示区域的宽度 :

$(window).width(); 
获取页面的文档高度 :
$(document).height(); 
获取页面的文档宽度 :$(document).width();

获取滚动条到顶部的垂直高度 :

$(document).scrollTop(); 
获取滚动条到左边的垂直宽度 :

$(document).scrollLeft();

计算元素位置和偏移量:

$(id).offset();

offset方法是一个很有用的方法,它返回包装集中第一个元素的偏移信息。默认情况下是相对body的偏移信息。结果包含 top和left两个属性。

offset(options, results)
options.relativeTo  指定相对计
算偏移位置的祖先元素。这个元素应该是relative或absolute定位。省略则相对body。
options.scroll  是否把
滚动条计算在内,默认TRUE
options.padding  是否把padding计算在内,默认false
options.margin
  是否把margin计算在内,默认true
options.border  是否把边框计算在内,默认true

使用js获取的相关方法

//回到页面顶部
$("#goTotop").click(function()
$(\'body,html\').animate(scrollTop:0,1500); //点击按钮让其回到页面顶部
);

$(window).scroll(function() 
var yheight1=window.pageYOffset; //滚动条距顶端的距离
var yheight=getScrollTop(); //滚动条距顶端的距离
var height =document.documentElement.clientHeight//浏览器可视化窗口的大小
var top=parseInt(yheight)+parseInt(height)-217;
var divobj=$(".kf");
divobj.attr(\'style\',\'top:\'+top+\'px;\');
)

/**
 * 获取滚动条距离顶端的距离
 * @return 支持IE6
 */
function getScrollTop() 
var scrollPos;
if (window.pageYOffset) 
scrollPos = window.pageYOffset; 
else if (document.compatMode && document.compatMode != \'BackCompat\')
 scrollPos = document.documentElement.scrollTop; 
else if (document.body)  scrollPos = document.body.scrollTop;  
return scrollPos; 
参考技术A 如果使用jquery的话,可以这样写:

$(window).bind("scroll", function()
var top = $(this).scrollTop(); // 当前窗口的滚动距离
);

如果使用原生js,可以这样写(摘自网上的):

/**
* 获取滚动条距离顶端的距离
* @return 支持IE6
*/
function getScrollTop()
var scrollPos;
if (window.pageYOffset)
scrollPos = window.pageYOffset;
else if (document.compatMode && document.compatMode != 'BackCompat')
scrollPos = document.documentElement.scrollTop;
else if (document.body) scrollPos = document.body.scrollTop;
return scrollPos;
本回答被提问者和网友采纳
参考技术B window.scrollY

js : 怎么设置网页滚动条超过800px后,显示“返回顶部”的按钮?

我这里有个 返回顶部的按钮,设置当滚动条 超过800px的时候,才显示,不然就隐藏。
我的 按钮 是class="dingbu2" ;

.dingbu2display:none;

引入 jquery.min.js 文件

$(window).on('scroll',function()
    var st = $(document).scrollTop();
    if( st>0 )
        $('.dingbu2').fadeIn(300);
    else
        $('.dingbu2').fadeOut(300);
    
);
$(".dingbu2").click(function()
    if(scroll=="off")
        return;
    
    $("html,body").animate(scrollTop: 0, 600);
);

参考技术A var dingbu2 = $('.dingbu2');
if($(window).scrollTop()>=800)
dingbu2.css('display','block'):

这样就可以了。追问

嗯,谢谢,你的js很简短,不过你忘了:
当高度 不够的时候,设置div 隐藏。
还是谢谢你!︿( ̄︶ ̄)︿

参考技术B #top position: fixed; width: 40px; height: 40px; right: 10px; top: 85%; background-image: url(../images/top.png); background-size: 80px 60px; background-position: 50% 10%; background-repeat: no-repeat; text-align: center; line-height: 60px; cursor:pointer

<div id="top">TOP</div>

<script type="text/javascript" src=" jquery.min.js"></script>

$(function()
$("#top").hide();
$(window).scroll(function()
if ($(this).scrollTop() > 1)
$("#top").fadeIn();
else
$("#top").fadeOut();

);
$("#top").click(function()
$("html,body").animate(
scrollTop: 0
, 1000);
return false;
);
)

以上是关于在js中怎么设置滚动条滚动的距离的主要内容,如果未能解决你的问题,请参考以下文章

html定位整个滚动条在页面中的位置

js : 怎么设置网页滚动条超过800px后,显示“返回顶部”的按钮?

js如何获取滚动条的高度

jquery插件slimScroll有大神知道横向滚动条怎么设置出来吗

js控制滚动条 滚动指定距离

如何获取网页滚动条滚动事件