JS-JQ-垂直居中的侧边栏
一、原理:
滚动高度+(可视区高度-div高度的一半)/2
JS:document.documentElement.scrollTop+(document.documentElement.clientHeight-div/2)/2
JQ:$(window).scrollTop()+($(document).height()-div/2)/2
二、知识
$(document):获取整个网页的文档对象
$(window):获取窗口对象,也就是浏览器客户区 是窗口
$('body,html'):获取的是文件本身 是文档
!!!- CSS
<style>
body{height:2000px;}
*{margin:0;padding: 0;}
#div1{width:200px;height:100px;background:red;position:absolute;top:0;bottom:0;}
</style>
!!! - HTML
<div id="div1"></div>
!!! - JavaScript
window.οnscrοll=window.οnlοad=function()
{
//1、垂直居中
var div1=document.getElementById('div1');
var w=document.documentElement.clientWidth||document.body.clientWidth;
var h=document.documentElement.clientHeight||document.body.clientHeight;
//2、滚动也能居中
var Y=document.documentElement.scrollTop||document.body.scrollTop;
div1.style.top=Y+(h-div1.offsetHeight/2)/2+"px";
}
!!! - JQuery
//这个效果并没有完美,会发现DIV并不垂直居中,仅给朋友们参考
$(function(){
function ok()
{
var h=$(window).height();//可视区高度
$('#div1').css('top',$(document).scrollTop()+(h-$(this).height()/2)/2);
}
ok();
$(window).scroll(function(){
ok();
})
})
转载于:https://www.cnblogs.com/xiaoyangtian/p/7922917.html
- 点赞
- 收藏
- 分享
- 文章举报
- js\css 让图片垂直居中
- js计算窗口垂直居中位置(iframe中可用)
- JS实现在不知道盒子宽高的情况下,默认让盒子在页面中水平垂直居中
- 层 js控制垂直 水平居中
- js控制图片缩放、水平和垂直方向居中对齐
- JS等比例缩放图片并构建图片水平垂直居中解决方案
- 自动垂直居中的js
- JS实现图片垂直居中显示小结
- 封装常用的js(base.js)——【05】自定义弹出框.封装水平垂直居中center(),和resize() .
- js控制图片缩放、水平和垂直方向居中对齐
- 列表图片自适应垂直居中-空白标签+js
- JS实现div动态水平垂直居中
- js设置元素垂直居中
- js按比例缩放图片且垂直居中显示图片
- css 水平和垂直居中 js 引用外部css
- js+css图片自动等比例缩小且垂直居中[v20071208]
- JS动态控制网页元素的垂直高度-垂直居中
- JS & jQ实践——固定边栏滚动
- 使用js实现div 水平垂直居中
- JS等比例缩放图片以及让图片水平垂直居中显示