昨天练习写了这个小demo,个人觉得通过设置定位元素left和top的值,来实现换行的功能,这种方法很巧妙~

另外,如下代码中的随机颜色的获取,还请各位前辈多多指教:需要改进的地方;或者有没有更好的方法。

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{text-align: center;}
li{height:50px;width:50px;background:red;position:absolute;list-style:none;text-align: center;color:white;line-height:50px;}
</style>
<script type="text/javascript">
window.onload=function(){
var text1=document.getElementById("texta");
var btn1=document.getElementById("btn");
var ul1=document.getElementById("ul");
btn1.onclick=function(){
for(var i=0;i<parseInt(text1.value);i++){ var li1=document.createElement("li");
li1.style.left=li1.offsetLeft+i%20*64+"px";
li1.style.top=li1.offsetTop+parseInt(i/20)*64+64+"px"; // 实现换行
li1.innerHTML=i+1;
li1.style.background=random_load();
ul1.appendChild(li1); }
}
}
function random_load(){
var R=hao(0,255).toString(16);
var G=hao(0,255).toString(16);
var B=hao(0,255).toString(16);
return "#"+aaa(R,G,B);
}
function hao(min,max){
return parseInt(Math.random()*(max-min+1)+min)
}
function aaa(r,g,b){
r=r.length==1?"0"+r:r;
g=g.length==1?"0"+g:g;
b=b.length==1?"0"+b:b; //随机会获取到5位的十六进制数,不能作为颜色值,所以用这个方法解决,还请前辈多多指点 ^-^!
return r+g+b;
}
</script>
</head>
<body>
<input type="text" name="texta" id="texta" value="" />
<input type="button" name="btn" id="btn" value="生成DIV" />
<ul id="ul">
</ul>
</body>
</html>

原生JS写了一个小demo,根据输入的数字生成不同背景颜色的小方块儿~的更多相关文章

  1. 原生js写的一个弧形菜单插件

    弧形菜单是一种半弧式或者全弧形菜单,是一种不同于传统横向或者竖向菜单形式的菜单.最近在网上看到好多人写出了这种效果,于是也尝试自己写了一个. 实现方式:原生态js 主要结构: 1.参数合并 var d ...

  2. 用canvas和原生js写的一个笨鸟先飞的小游戏(暂时只有一个关卡)

    其中一个画布背景是一张图片,还有小鸟,两个管子的图片.暂时不知道怎么附上去就不添加了.这里只有源代码,css和js都是在html写着的,感觉比他们的容易吧,hah <!DOCTYPE html& ...

  3. 原生js写的一个当前年份日期星期和时间的显示

    话不多说,所有代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type& ...

  4. 原生js写的一个简单slider

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 原生 js 写分页

    欢迎留言或者加本人QQ172360937咨询 这段代码是用原生 js 写的一个分页的效果 <!doctype html> <html lang="en"> ...

  6. 原生JS写的ajax函数

    参照JQuery中的ajax功能,用原生JS写了一个ajax,功能相对JQuery要少很多,不过基本功能都有,包括JSONP. 调用的方式分为两种: 1. ajax(url, {}); 2. ajax ...

  7. 原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  8. 用原生js写一个"多动症"的简历

    用原生js写一个"多动症"的简历 预览地址源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现. 会动的简历实现 ...

  9. 原生js写的贪吃蛇网页版游戏特效

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <bo ...

随机推荐

  1. vue监听不到props中的值时

    已解决: watch: { data: { immediate: true, handler: function(newVal) { console.log(newVal); } } },

  2. spark2.4+elasticsearch6.1.1搭建一个推荐系统

    目录 整体框架 安装相关的组件 elasticsearch安装 spark安装 下载es-hadoop中间件 安装计算向量相似度的elasticsearch插件 运行 结果展示 参考博客 本博文详细记 ...

  3. Sping框架初步使用1

    Spring核心容器的理论:Spring核心容器就是一个超大工厂,所有的对象都会被当成Spring容器的核心管理对象,Spring把容器中一切对象统称为Bean(只要是一个Java类,Spring就可 ...

  4. SQLServer 触发器入门

    阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器 概念:   触发器(trigger)是SQL server 提供给程序员和数据分析 ...

  5. [javaSE] 集合框架(Map概述)

    Map集合,将key对象映射到value对象 三个主要的子类:Hashtable,HashMap,TreeMap Hashtable:底层是哈希表数据结构,不允许使用null值,线程同步 HashMa ...

  6. mysql数据导入mongoDB

    目前许多平台都会同时使用MySQL , mongoDB 两款数据库软件,他们之间的数据同步交换也是经常面临的问题,如何定时的进行数据交换同步是一个要面对的问题. 通过Treesoft数据库管理系统可以 ...

  7. Django实现验证码

    简单搞定生成验证码: 1.views.py from io import BytesIO import random from PIL import Image,ImageDraw,ImageFont ...

  8. js 控制页面跳转的5种方法

    js 控制页面跳转的5种方法 编程式导航: 点击跳转路由,称编程式导航,用js编写代码跳转. History是bom中的 History.back是回退一页 Histiory.go(1)前进一页 Hi ...

  9. java中的>>>和>>>=

    “>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入0.当我们要作位移的原始值并非代表数值时(例如:表示颜色图素 ...

  10. 一款基于HTML5的高性能WEBGIS介绍

    远景地理信息系统(RemoteGIS)是一款基于HTML5的GIS平台软件,它使用Javascript开发,旨在解决当前WEBGIS矢量数据在数据量和刷新性能上的瓶颈,并利用WEB程序的跨平台特性,打 ...