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 相关文章推荐
JS 控件事件小结
Oct 31 Javascript
DOM基础教程之使用DOM设置文本框
Jan 20 Javascript
跟我学习javascript的严格模式
Nov 16 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
简单实现IONIC购物车功能
Jan 10 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
Jun 22 Javascript
bootstrap实现二级下拉菜单效果
Nov 23 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
VUE安装使用教程详解
Jun 03 Javascript
原生JS实现汇率转换功能代码实例
May 13 Javascript
JS实现canvas简单小画板功能
Jun 23 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 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
谈谈新手如何学习PHP
2006/12/14 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
python使用psutil模块获取系统状态
2016/08/27 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
python中partial()基础用法说明
2018/12/30 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
新年寄语大全
2014/04/12 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
大学生自荐信范文
2015/03/05 职场文书
教师节寄语2015
2015/03/23 职场文书
如何用PHP websocket实现网页实时聊天
2021/05/26 PHP
vue+echarts实现多条折线图
2022/03/21 Vue.js
python标准库ElementTree处理xml
2022/05/20 Python
MySQL数据库之存储过程 procedure
2022/06/16 MySQL