js获取元素的滚动高度,和距离顶部的高度
jq:
获取浏览器显示区域(可视区域)的高度 :
$(window).height();
获取浏览器显示区域(可视区域)的宽度 :
$(window).width();
获取页面的文档高度
$(document).height();
获取页面的文档宽度 :
$(document).width();
浏览器当前窗口文档body的高度:
$(document.body).height();
浏览器当前窗口文档body的宽度:
$(document.body).width();
获取滚动条到顶部的垂直高度 (即网页被卷上去的高度)
$(document).scrollTop();
获取滚动条到左边的垂直宽度 :
$(document).scrollLeft();
获取或设置元素的宽度:
$(obj).width();
获取或设置元素的高度:
$(obj).height();
某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)
js:
网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度)
document.documentElement.scrollTop //firefox document.documentElement.scrollLeft //firefox document.body.scrollTop //IE document.body.scrollLeft //IE
等同于:
$(window).scrollTop()
$(window).scrollLeft()
网页工作区域的高度和宽度
document.documentElement.clientHeight// IE firefox
等同于:
$(window).height()
元素距离文档顶端和左边的偏移值
obj.offsetTop //IE firefox obj.offsetLeft //IE firefox
等同于:
obj.offset().top
obj.offset().left
简单实例(监控元素在可见视图中)
效果:当元素出现在可见区域时,改变其css样式(背景色变红);
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>监控元素出现在视图中</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style>
p {
height: 30px;
line-height: 30px;
background: #f3f3f3;
opacity: ;
}
</style>
</head> <body>
<div class="main">
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
<p>你好,china!</p>
</div>
</body>
<script>
function Show() {
var Height = $(window).height();
$('p').not('.none').each(function(ind) {
var Top = $(this).offset().top; //元素距离顶部距离
var scroll = $(document).scrollTop(); //滚动高度
console.log(Top + ' ' + scroll);
if(Top - Height - scroll <= ) {
setTimeout(function() {
$('p').not('.none').eq(ind).addClass('show').css('background', 'red').animate({
opacity:
}, );
}, );
}
});
}
$(function() {
var Height = $(window).height(); //窗口高度
console.log('可视高度:' + Height);
$('.main').find('*').each(function() {
var Top = $(this).offset().top;
if(Top - Height <= ) {
$(this).addClass('none').css({
'background': '#09f',
'opacity':
});
}
});
$(window).scroll(function() {
Show();
})
})
</script> </html>
js获取元素的滚动高度,和距离顶部的高度的更多相关文章
- js获取元素到屏幕左上角的距离
开发过程中经常会遇到 获取元素到屏幕左上角的距离, 当我们使用jQuery开发时,我们可以使用 $.offset()来获取准确的距离. 如果我们的项目中并没有引入jQuer的话,跟希望通过原生方法实现 ...
- JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离
壹 ❀ 引 我在 JQ的offset().top与js的offsetTop区别详解 这篇博客中详细分析了JQ方法offset().top与JS属性offsetTop的区别,并得出了一条offset( ...
- js计算元素距离顶部的高度及元素是否在可视区判断
前言: 在业务当中,我们经常要计算元素的大小和元素在页面的位置信息.比如说,在一个滚动区域内,我要知道元素A是在可视区内,还是在隐藏内容区(滚动到外边看不到了).有时还要进一步知道,元素是全部都显示在 ...
- 【全面总结】js获取元素位置大小
[js获取元素位置+元素大小]全面总结 目录 1.关于offset offsetParent(只读) offsetTop(只读) offsetLeft(只读) offsetHeight(只读) off ...
- js获取元素位置和style的兼容性写法
今天说一下js获取元素位置和style的方法.当然不只是element.style那么简单.. 主角:getBoundingClientRect,getClientRects,getComputedS ...
- JS获取元素宽高的两种情况
JS获取元素宽高分两种情况, 一.内联样式,也就是直接把width和height写在HTML元素中的style里: 这种情况使用 document.getElementById('xxx'). ...
- js获取元素提示信息
js获取元素提示信息 var date=$("#date").attr('placeholder'); js修改元素的提示信息 $("#date").attr( ...
- js获取元素显示隐藏的当前状态
js获取元素显示隐藏的当前状态 // CSS var display = $("."+cls).css("display"); if(display == &q ...
- js获取元素的外链样式
一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可d ...
随机推荐
- Qt 网络模块如何使用?
1.网络模块介绍 类名 说明 中文 QAbstractNetworkCache The interface for cache implementations 缓存实现的接口 QNetworkCach ...
- Google2016 面试题 吹气球 区间dp
题意:有n个气球,编号为0到n-1,每个气球都有一个分数,存在nums数组中.每次吹气球i可以得到的分数为 nums[left] * nums[i] * nums[right],left和right分 ...
- 【开源】C#.NET股票历史数据采集,【附18年历史数据和源代码】
如果用知乎,可以关注专栏:.NET开源项目和PowerBI社区 重点重点:我没有买股票,没有买股票,股市是个坑,小心割韭菜哦. 本文的初衷是数据分析(分析结果就不说了,就是想看看筛选点数据),只不过搞 ...
- NewLife.XCode 上手指南2018版(一)代码生成
目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...
- Vue第一个自定义组件:数字输入框(number-input)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【Unity3D】Unity3D开发《我的世界》之四、创建一个Block
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_04.html 一.新建Block类 我们的Block类用来存储跟Block相关的信 ...
- MS SQL xp_instance_regwrite设置注册表疑惑
以前写过一篇博文"MS SQL 日志记录管理",里面介绍了如何设置SQL Server的错误日志的最大归档数量,如果在SSMS的UI界面设置,可以从"Manageme ...
- JDBC完成的三个基本工作
JDBC完成的三个基本工作 1.与数据库建立连接 2.执行SQL语句 3.获得SQL语句的执行结果
- iOS - GATT Profile 简介
1.引言 现在低功耗蓝牙(BLE)连接都是建立在 GATT (Generic Attribute Profile) 协议之上.GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短 ...
- 【转载】 Spark性能优化:资源调优篇
在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置 ...