jq滚动条问题

1.滚动条滚动到指定位置

在jquery里,我们要操作滚动条滚动到指定的位置,是非常简单的,方法如下:

$("html,body").scrollTop($("#aijquery2").offset().top);

上面这句代码的意思就是操作窗口的滚动条,滚动到ID为aijquery2元素的位置,不过这句代码实现的效果是滚动条“瞬间”滚动过去的,所以日常中,我们通常给他加上一个滚动的“动画过程”:

$("html,body").animate({scrollTop:$("#aijquery2").offset().top},1000);

animate就是jquery里实现动画效果的函数了。

上面我们操作的是整个网页窗口的滚动条,那么如果我们要操作某个DIV的滚动条,也是同样的方法,把上面代码中的 ("html,body") ( " h t m l , b o d y " ) 换 成 (“div#id”)就行了。

2.操作滚动条滚动到底部

$("#aijquery2").animate({scrollTop:$("#aijquery2")[0].scrollHeight},500);

上面这句代码说的是操作div#aijquery2的滚动条滚动到底部,这时我们需要获取div#aijquery2的scrollHeight高度,而在jquery里是没有这个属性方法的,所以我们需要把jquery对象转换成js对象,才能获取到scrollHeight。

另外,我们也可以用jquery的prop函数来直接获取元素的js属性:

$("#aijquery2").animate({scrollTop:$("#aijquery2").prop("scrollHeight")},500);

代码实例:

<!doctype html>
<html lang="en">
<head>
<title>jquery操作滚动条的在线演示-aijQuery.cn</title>
<script language="JavaScript" src="//cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
</head>
<body style="height:2000px">
<DIV id="aijquery1" class="container-fluid text-center pt-4" style="height:350px">
  这是div#aijquery1<br>
  <button id="bt1">滚动到div#aijquery2</button>
</DIV>
<DIV id="aijquery2" class="container-fluid text-center pt-4" style="height:200px;overflow:auto;border:2px solid red">
  这是div#aijquery2<br><button id="bt2">滚动到div#aijquery1</button>
  <div style="height:450px;border:1px solid #green;padding-top:50px">
     这是div#aijquery2内的子DIV<br>
    <button id="bt3">操作div#aijquery2的滚动条滚动到底端</button>
  </div>
  这是div#aijquery2的底部
</DIV>
<script language="javascript">
$("#bt1").click(function(){
    //$("html,body").scrollTop($("#aijquery2").offset().top);
    $("html,body").animate({scrollTop:$("#aijquery2").offset().top},1000);
});
$("#bt2").click(function(){
    //$("html,body").scrollTop($("#aijquery1").offset().top);
    $("html,body").animate({scrollTop:$("#aijquery1").offset().top},1000);
});
$("#bt3").click(function(){
   //$("#aijquery2").scrollTop($("#aijquery2")[0].scrollHeight);
  $("#aijquery2").animate({scrollTop:$("#aijquery2").prop("scrollHeight")},500);
});
</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值