JS和jQuery宽高详解(下篇)

jQuery相关的宽高

和JS相比,jQuery就像亲妈一样,JS就是后妈,哈哈哈哈哈~~~~~~总之,jQuery对很多有关兼容的问题进行封装,只有极少一部分属性需要考虑兼容,用起来非常滴方便~~

与jQuery相关的宽高:

.width()与.height();

.innerWidth()与 .innerHeight();

.outerWidth() 与.outerHeight();

上边3对是jQuery里宽高相关的属性;下边3对是与宽高相关的属性。

.scrollTop() 与.scrollLeft(); 

.offset().top 与.offset().left;

.position().top 与position().left;

.width()与.height()  这一对属性如下图,对于window对象和document对象特殊元素只读不能写,而对于普通元素是可以传值也可以是函数。 

width()的区别css(‘width‘),前者反回的值是有单位的,而后者返回的值是没有单位的。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.innerWidth()与 .innerHeight(); 这两个属性是包括padding的值;用法和width()相同

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

.outerWidth()与 .outerHeight(); 这两个属性包括border和margin的宽度;用法和width()相同

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" }
span.s1 { }

这两个属性通过设置true和false取得element是否包括margin,如果是true则包括margin,如果是false则不包括。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.scrollTop() 与.scrollLeft() 这两个属性和JS里scroll Top与scrollLeft相同都是指滚动条卷起的那部分

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

offset()里.offset().top 与.offset().left;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.position()里 .position().top 与position().left;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

jQuery里相关的宽高上边已介绍完毕,下边看一下使用jQuery实现可视区域、滚动条滚动到浏览器地段和顶端

jQuery实现可视区域,实现原理和JS的相同,只是在获取相关的值时有区别,这里只给出jQuery代码,CSS和HTML参考JS

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #2b7ec3 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #4663cc }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #060606 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #289c97 }
span.s1 { color: #4f5d66 }
span.s2 { color: #000000 }
span.s3 { color: #060606 }
span.s4 { color: #4a8a01 }
span.s5 { color: #e48b00 }
span.s6 { color: #4663cc }
span.s7 { color: #698906 }
span.s8 { color: #289c97 }
span.Apple-tab-span { white-space: pre }

<script>

$(window).scroll(function(){

var ks_arear_H = $(window).height();

var scroll_top = $(window).scrollTop();

var div_top = $(‘#show_div‘).offset().top;

//console.log(ks_arear_H);

//console.log(scroll_top);

//console.log(div_top);

if(ks_arear_H+scroll_top <= div_top){

$(‘#show_div‘).addClass(‘fadein_left‘);

}

});

</script>

jQuery滚动条滚动到浏览器地段和顶端

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #2b7ec3 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #4663cc }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #060606 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #289c97 }
span.s1 { color: #4f5d66 }
span.s2 { color: #000000 }
span.s3 { color: #060606 }
span.s4 { color: #4a8a01 }
span.s5 { color: #e48b00 }
span.s6 { color: #4663cc }
span.s7 { color: #698906 }
span.s8 { color: #ad42ef }
span.s9 { color: #289c97 }
span.Apple-tab-span { white-space: pre }

<script>

$(window).scroll(function(){

var ks_arear = $(window).height();

var scrollTop = $(window).scrollTop();

var wholeHeight = $(document).height();

if(ks_arear+scrollTop >= wholeHeight){

alert(‘滚动到低部哦~~‘);

}

if(scrollTop == 0){

alert(‘滚动到顶部了哦~~~‘);

}

});

</script>

_____________________________________________________________________________________________

JS和jQuery相关的宽高到此结束,虽然整理一些知识点需要花费一些时间和精力,但是在整理的同时也是一个系统学习的过程。所以还是有必要滴??

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" }
span.s1 { }

时间: 2024-10-10 13:36:59

JS和jQuery宽高详解(下篇)的相关文章

JS和jQuery宽高详解(上篇)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" } li.li1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" } span.s1 { } span.s2 { font: 12.0px Helvetica } ol.o

JS和jQuery宽高详解(中篇)

JS实例练习 首先了解一下document.documentElement与document.body之间的小区别,这两一个元素后者是前者的子集,也就是父子关系. 1)可视区域计算 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" } span.s1 { } 实现原理:div元素到窗口顶部的高度小于窗口的可视高度,则执行对div绑定的函数. 这里获取div元素

常见26个jquery使用技巧详解(比如禁止右键点击、隐藏文本框文字等)

来自:http://www.xueit.com/js/show-6015-1.aspx 本文列出jquery一些应用小技巧,比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元素是否为空.替换元素.延迟加载.验证元素是否存在于Jquery集合中.使DIV可点击.克隆对象.使元素居中.计算元素个数.使用Google主机上的Jquery类库.禁用Jquery效果.解决Jquery类库与其他J

js对象浅拷贝和深拷贝详解

js对象浅拷贝和深拷贝详解 作者:i10630226 字体:[增加 减小] 类型:转载 时间:2016-09-05我要评论 这篇文章主要为大家详细介绍了JavaScript对象的浅拷贝和深拷贝代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家分享了JavaScript对象的浅拷贝和深拷贝代码,供大家参考,具体内容如下 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷贝: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 var

jQuery选择器代码详解(四)——Expr.preFilter

原创文章,转载请注明出处,多谢! Expr.preFilter是tokenize方法中对ATTR.CHILD.PSEUDO三种选择器进行预处理的方法.具体如下: Expr.preFilter : { "ATTR" : function(match) { /* * 完成如下任务: * 1.属性名称解码 * 2.属性值解码 * 3.若判断符为~=,则在属性值两边加上空格 * 4.返回最终的mtach对象 * * match[1]表示属性名称, * match[1].replace(rune

jQuery选择器代码详解(五)——实例说明tokenize的解析过程

原创文章,转载请写明出处,多谢! 以下分析基于jQuery-1.10.2.js版本. 下面将以$("div:not(.class:contain('span')):eq(3)")为例,说明tokenize和preFilter各段代码是如何协调完成解析的.若想了解tokenize方法和preFilter类的每行代码的详细解释,请参看如下两篇文章: jQuery选择器代码详解(三)--tokenize方法 jQuery选择器代码详解(四)--Expr.preFilter 下面是tokeni

jQuery的观察者模式详解 转载

jQuery的观察者模式详解 投稿:hebedich 本文主要是介绍了jQuery中on方法及trigger方法,以及围绕这个方法来体验的观察者模式,是篇非常不错的文章,对我们理解观察者模式很有帮助. undefined undefined ■ on方法绑定内置事件,自然触发 比如,我们给页面的body元素绑定一个click事件,这样写. <head> <meta http-equiv="Content-Type" content="text/html; c

jQuery解析json详解

jQuery解析Json详解:http://www.cnblogs.com/madyina/p/3448518.html JSON简介及用法:http://bbs.html5cn.org/thread-87020-1-1.html 不建议使用eval()函数,因为eval()接受任意的字符串,并当作JavaScript代码来处理,这个机制已经有安全隐患了 var str='{ "name": "John" }'; var obj = eval  ('(' + str

jQuery插件开发及jQuery.extend函数详解和jQuery.fn与jQuery.prototype区别

一.jQuery插件开发分为两种:  1.类级别: 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.extend(object); $.extend({ add:function(a,b){return a+b;} , minus:function(a,b){return a-b;} }); var i = $.add(3,2); var j = $.minus(3,2); 2.对象级别: 对