最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:02:11
文档

用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数_javascript技巧

用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数_javascript技巧:首先这个元素position为fixed top为(clientHeight-elem.offsetHeight)/2(即元素在浏览器的中间,这个是固定的) left为(clientWidht-主体宽度)/2+主体宽度+左边距,左边距可以设为正数,也可以为负数,如果为负数时的绝对值 等于 主体宽度+elem.off
推荐度:
导读用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数_javascript技巧:首先这个元素position为fixed top为(clientHeight-elem.offsetHeight)/2(即元素在浏览器的中间,这个是固定的) left为(clientWidht-主体宽度)/2+主体宽度+左边距,左边距可以设为正数,也可以为负数,如果为负数时的绝对值 等于 主体宽度+elem.off


首先这个元素position为fixed
top为(clientHeight-elem.offsetHeight)/2(即元素在浏览器的中间,这个是固定的)
left为(clientWidht-主体宽度)/2+主体宽度+左边距,左边距可以设为正数,也可以为负数,如果为负数时的绝对值 等于 主体宽度+elem.offsetWidht,那么元素就刚好浮动在页面主体的左边,设置为0时,刚好浮动在页面主体的右边
但是万恶的ie6不支持css中fixed属性,好在ie6可以通过expresion表达式来解决,万事大吉
具体看代码:
代码如下:




左右浮动元素





脚本之家



window.onload = function(){
/*
----------------------------------
定义一个浏览器左右浮动元素相对于页面主体宽度的位置的函数
----------------------------------
*/
function setScrollDivPos(elemId_str,main_width,m_left){
//自定义一个获取元素的函数
$ = function(id){return document.getElementById(id);};
//获取浏览器在标准模式和混杂模式的视口大小
var c_width = document.documentElement.clientWidth || document.body.clientWidth;
var c_height = document.documentElement.clientHeight || document.body.clientHeight;
//获取浏览器滚动时顶部被隐藏的像素大小
//var s_top = document.documentElement.scrollTop || document.body.scrollTop;
//获取浏览器视口宽度减去页面主题宽度的一半
var half_width = (c_width - main_width)/2;
//获取浏览器视口高度的一半
var half_height = c_height/2;
//获取元素的高度
var elem_height = $(elemId_str).offsetHeight;
//获取元素相对于页面主体的(左、上)相对位置
var pos_left = main_width + half_width + m_left + "px";
var pos_top = (c_height - elem_height)/2 + "px";
//获取浏览器顶部的滚动大小
//var s_top = document.documentElement.scrollTop || document.body.scrollTop;
//对元素进行定位布局
if(window.XMLHttpRequest){
$(elemId_str).style.cssText = 'position:fixed;top:' + pos_top + ';left:' + pos_left + ';';
}else{
$(elemId_str).style.cssText = ';left:' + pos_left + ';';
}
}
//定义id为pos-id的元素 在页面主题宽度为990px的左侧
//setScrollDivPos("pos-id",990,-1040);
//定义id为pos-id的元素 在页面主题宽度为990px的右侧
setScrollDivPos("pos-id",990,0);
}



文档

用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数_javascript技巧

用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数_javascript技巧:首先这个元素position为fixed top为(clientHeight-elem.offsetHeight)/2(即元素在浏览器的中间,这个是固定的) left为(clientWidht-主体宽度)/2+主体宽度+左边距,左边距可以设为正数,也可以为负数,如果为负数时的绝对值 等于 主体宽度+elem.off
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top