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 相关文章推荐
jquery中获取select选中值的代码
Jun 27 Javascript
Js中的onblur和onfocus事件应用介绍
Aug 27 Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
Sep 24 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
javascript中this关键字详解
Dec 12 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
Angular resolve基础用法详解
Oct 03 Javascript
在vue中实现给每个页面顶部设置title
Jul 29 Javascript
jquery实现简单自动轮播图效果
Jul 29 jQuery
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防注入代码
2010/04/07 PHP
队列在编程中的实际应用(php)
2010/09/04 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
原生js实现文件上传、下载、封装等实例方法
2020/01/05 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
Python对列表排序的方法实例分析
2015/05/16 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
Python实现的根据IP地址计算子网掩码位数功能示例
2018/05/23 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
护士专业推荐信
2013/11/02 职场文书
职业生涯规划设计步骤
2014/01/12 职场文书
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
积极向上的团队口号
2014/06/06 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python