js CSS操作方法集合


Posted in Javascript onOctober 31, 2008

//获取元素的真实的,最终的CSS样式属性值的函数
function getStyle(elem,name){
if(elem.style[name]){
return elem.style[name];
}else if(elem.currentStyle){
return elem.currentStyle[name];
}else if(document.defaultView && document.defaultView.getComputedStyle){
name = name.replace(/([A-Z])/g,"-$1");
name = name.toLowerCase();

var s = document.defaultView.getComputedStyle(elem,"");
return s && s.getPropertyValue(name);
}else{
return null;
}
}
//两个确定元素相对于整个文档的X和Y位置的辅助位置
function pageX(elem){
return elem.offsetParent?
elem.offsetLeft+pageX(elem.offsetParent):
elem.offsetLeft;
}

function pageY(elem){
return elem.offsetParent?
elem.offsetTop+pageY(elem.offsetParent):
elem.offsetTop;
}
//确定元素相对于父亲的位置的两个函数
function parentX(elem){
return elem.parentNode == elem.offsetParent?
elem.offsetLeft:
pageX(elem)-pageX(elem.parentNode);
}

function parentY(elem){
return elem.parentNode==elem.offsetParent?
elem.offsetTop:
pageY(elem)-pageY(elem.parentNode);
}
//确定元素相对于它的CSS容器的位置
function posX(elem){
return parseInt(getStyle(elem,"left"));
}
function posY(elem){
return parseInt(getStyle(elem,"top"));
}
//设置元素x和y位置(与当前位置无关)的函数
function setX(elem,pos){
elem.style.left = pos+"px";
}
function setY(elem,pos){
elem.style.top = pos+"px";
}
//调整元素相对于当前位置的距离的函数
function addX(elem,pos){
setX(posX(elem)+pos);
}
function addY(elem,pos){
setY(posY(elem)+pos);
}

//获取元素当前的高度和宽度
function getHeight(elem){
return parseInt(getStyle(elem,'height'));
}
function getWidth(elem){
return parseInt(getStyle(elem,'width'));
}
//即是元素隐藏,也能分别获取它潜在的完整高度和宽度的两个函数
function fullHeight(elem){
if(getStyle(elem,'display')!='none'){
return elem.offsetHeight||getHeight(elem);
}
var old = resetCSS(elem,{
display:'',
visibility:'hidden',
position:'absolute'
});
var h = elem.clientHeight||getHeight(elem);
restoreCSS(elem,old);
return h;
}

function fullWidth(elem){
if(getStyle(elem,'display')!='none'){
return elem.offsetWidth || getWidth(elem);
}
var old = resetCSS(elem,{
display:'',
visibility:'hidden',
position:'absolute'
});
var w = elem.clientWidth || getWidth(elem);
restoreCSS(elem,old);
return w;
}

function resetCSS(elem,prop){
var old = [];
for(var i in prop){
old[i] = elem.style[i];
elem.style[i] = prop[i];
}
return old;
}
function restoreCSS(elem,prop){
for(var i in prop){
elem.style[i] = prop[i];
}
}
//使用CSS的display属性来切换元素可见性的一组函数
function hide(elem){
var curDisplay = getStyle(elem,'display');
if(curDisplay != 'none'){
elem.$oldDisplay= curDisplay;
}
elem.style.display = 'none';
}
function show(elem){
elem.style.display = elem.$oldDisplay ||'';

}
//设置元素的透明度
function setOpacity(elem,level){
if(elem.filters){
elem.style.filters = 'alpha(opacity='+level+')';
}else{
elem.style.opacity = level/100;
}
}

Javascript 相关文章推荐
json 实例详细说明教程
Oct 31 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
JS/Jquery判断对象为空的方法
Jun 11 Javascript
js随机生成字母数字组合的字符串 随机动画数字
Sep 02 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
React快速入门教程
Jan 17 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
JS简单判断滚动条的滚动方向实现方法
Apr 28 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
vue实现简易的双向数据绑定
Dec 29 Vue.js
js前端图片加载异常兜底方案
Jun 21 Javascript
xml分页+ajax请求数据源+dom取结果实例代码
Oct 31 #Javascript
JS Array对象入门分析
Oct 30 #Javascript
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 #Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
Oct 29 #Javascript
关于B/S判断浏览器断开的问题讨论
Oct 29 #Javascript
JS写的数字拼图小游戏代码[学习参考]
Oct 29 #Javascript
JavaScript函数、方法、对象代码
Oct 29 #Javascript
You might like
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
php使用pack处理二进制文件的方法
2014/07/03 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
解决FLASH需要点击激活的代码
2006/12/20 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
angular2使用简单介绍
2016/03/01 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
python实现简单的TCP代理服务器
2014/10/08 Python
python下10个简单实例代码
2017/11/15 Python
python面试题小结附答案实例代码
2019/04/11 Python
python实现在线翻译
2020/06/18 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
华三通信H3C面试题
2015/05/15 面试题
大学生就业策划书范文
2014/04/04 职场文书
书法大赛策划方案
2014/06/04 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python