javascript布局转换

javascript布局转换是将原有的浮动布局通过JS里面的javascript属性 offsetLeft 和offsetTop默认值来给元素设置绝对定位。

原来的:缺点——我们想给网页中的图片添加拖拽事件 我们发现没有定位是无法完成的 所有我们必须要用到下面的布局转换

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <style>
 5 * {margin:0; padding:0;}
 6
 7 #ul1 {width:660px; position:relative; margin:10px auto;}
 8 #ul1 li {width:200px; height:150px; float:left; list-style:none; margin:10px;}
 9 </style>
10 <script>
11 </script>
12 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13 <title>无标题文档</title>
14 </head>
15
16 <body>
17 <ul id="ul1">
18     <li><img src="images/1.jpg" /></li>
19     <li><img src="images/2.jpg" /></li>
20     <li><img src="images/3.jpg" /></li>
21     <li><img src="images/4.jpg" /></li>
22     <li><img src="images/5.jpg" /></li>
23     <li><img src="images/1.jpg" /></li>
24     <li><img src="images/2.jpg" /></li>
25     <li><img src="images/3.jpg" /></li>
26     <li><img src="images/4.jpg" /></li>
27     <li><img src="images/5.jpg" /></li>
28 </ul>
29 </body>
30 </html>

转换后:转换后通过JS给每个li都给了绝对定位

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
* {margin:0; padding:0;}

#ul1 {width:660px; position:relative; margin:10px auto;}
#ul1 li {width:200px; height:150px; float:left; list-style:none; margin:10px;}
</style>
<script>
window.onload=function(){
    var ul1=document.getElementById(‘ul1‘);
    var lis=ul1.getElementsByTagName(‘li‘);
    var aPos=[];

    // 通过for循环获取每个li元素的keft和top保存给aPos
    for(i=0;i<lis.length;i++){
        aPos[i]={left:lis[i].offsetLeft,top:lis[i].offsetTop}
    }

    //通过for循环来给元素添加上次保存好的值
    for(i=0;i<lis.length;i++){
        lis[i].style.left=aPos[i].left+‘px‘;
        lis[i].style.top=aPos[i].top+‘px‘;
        lis[i].style.position=‘absolute‘;
        lis[i].style.margin=‘0‘;
    }

}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<ul id="ul1">
    <li><img src="images/1.jpg" /></li>
    <li><img src="images/2.jpg" /></li>
    <li><img src="images/3.jpg" /></li>
    <li><img src="images/4.jpg" /></li>
    <li><img src="images/5.jpg" /></li>
    <li><img src="images/1.jpg" /></li>
    <li><img src="images/2.jpg" /></li>
    <li><img src="images/3.jpg" /></li>
    <li><img src="images/4.jpg" /></li>
    <li><img src="images/5.jpg" /></li>
</ul>
</body>
</html>
时间: 2024-08-08 01:29:14

javascript布局转换的相关文章

【前端】Vue.js实现网格列表布局转换

网格列表布局转换 实现效果: 实现代码及注释: <!DOCTYPE html> <html> <head> <title>布局转换</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-e

js 布局转换问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>无标题页</title> &l

IE JavaScript字符串转换成Date后出现NaN错误

参考的博文:http://blog.csdn.net/zhu7478848/article/details/53388582 在IE浏览器下, JavaScript字符串转换成Date后会出现NaN错误,但是在其他的浏览器下,都没有问题. 因此,转变字符串的格式. var  date  = new Date("2016-10-11") 在IE下date是NaN,而其他浏览器正常. 字符串修改成 2016/10/11 var  date  = new Date("2016-10

布局转换——考验CSS功底的时刻到来

前几天的时候在QQ群里有一位朋友遇到了这样一个问题,是关于布局转换的,在说这个问题之前,我希望给大家介绍一下什么叫布局转换. 首先我们经常会遇到这种布局: 我想大家一看就会想到外面一个父级,里面6个子元素,一浮动,OK了,只有脑子稍稍不正常的人才会用position:absolute定位一个一个定.我和大家想的也一样,因此这样一个布局自然就出来了 1 <ul id="ul1" class="clear"> 2 <li>1</li>

JavaScript数值转换总结

在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1  param是Boolean值,true和false分别转换为1和0: 1.2  param是数值,只是简单的传入和返回 1.3  param是null和undefined,分别返回0和NaN 1.4  param是字符串,遵循下列规则: 1.4.1  如果字符串中只包含数字,则转换为十进制,前导0被忽略: 1.4.2  如果字符串中包含有效的浮点数格式,则返回对应的浮

javascript浮点数转换成整数三种方法

将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如果读者想到其他好用方法,也可以交流一下 parseInt位运算符Math.floor Math.ceil Description 一.parseInt 1. 实例 parseInt("13nash");//13 parseInt("")// NaN parseInt("0xA") //10(十六进制) parseInt(" 13")/

JavaScript编码转换之gb2312转unicode -- &amp;#X形式

http://www.cnblogs.com/meil/archive/2007/01/31/635936.html JavaScript编码转换之gb2312转unicode 1. <html><head><title>gb2312 unicode转换工具</title><div align=center><center><table border=0 cellpadding=0 cellspacing=0 style=&qu

Bootstrap页面布局6 - BS把已有的固定宽度布局转换成响应式布局

首先引入文件bootstrap-responsive.css <link href="bootstrap/css/bootstrap-responsive.css" rel="stylesheet"> bootstrap-responsive.css这个样式表已经为我们针对常用的上网设备做好了相应的响应式设计: 比如: 分辨率宽度1200像素以上的屏幕上,网格的宽度会由60px变为70px,且网格与网格之间的距离由20px变为30px 在平板电脑的垂直状

javascript强制转换详解

转换成数值 Number函数强制转换成数值 数值->转换成原来的值 字符串->如果可以解析为数值,则转换成数值:否则转换成NaN或者0 true->1,falSe->0 undefined->NaN null->0 转换成整型 praSeInt() 转换成浮点型 praSeFloat() 注意 Number函数将字符串转换为数值比praSeInt函数严格很多.基本上只要有一个字符无法转换成数值,整个字符串就会被转换成NaN 转换成字符串 通过String函数转换成字符串