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

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

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

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <style type="text/css">
 7             body{text-align: center;}
 8             li{height:50px;width:50px;background:red;position:absolute;list-style:none;text-align: center;color:white;line-height:50px;}
 9         </style>
10         <script type="text/javascript">
11             window.onload=function(){
12                 var text1=document.getElementById("texta");
13                 var btn1=document.getElementById("btn");
14                 var ul1=document.getElementById("ul");
15                 btn1.onclick=function(){
16                     for(var i=0;i<parseInt(text1.value);i++){
17
18                         var li1=document.createElement("li");
19                         li1.style.left=li1.offsetLeft+i%20*64+"px";
20                         li1.style.top=li1.offsetTop+parseInt(i/20)*64+64+"px";  // 实现换行
21                         li1.innerHTML=i+1;
22                         li1.style.background=random_load();
23                         ul1.appendChild(li1);
24
25                     }
26                 }
27             }
28             function random_load(){
29                 var R=hao(0,255).toString(16);
30                 var G=hao(0,255).toString(16);
31                 var B=hao(0,255).toString(16);
32                 return "#"+aaa(R,G,B);
33             }
34             function hao(min,max){
35                   return parseInt(Math.random()*(max-min+1)+min)
36             }
37             function aaa(r,g,b){
38                   r=r.length==1?"0"+r:r;
39                   g=g.length==1?"0"+g:g;
40                   b=b.length==1?"0"+b:b;    //随机会获取到5位的十六进制数,不能作为颜色值,所以用这个方法解决,还请前辈多多指点  ^-^!
41                   return r+g+b;
42             }
43         </script>
44     </head>
45     <body>
46         <input type="text" name="texta" id="texta" value="" />
47         <input type="button" name="btn" id="btn" value="生成DIV" />
48         <ul id="ul">
49         </ul>
50     </body>
51 </html>

原文地址:https://www.cnblogs.com/mycognos/p/9153689.html

时间: 2024-08-10 17:17:38

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

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

弧形菜单是一种半弧式或者全弧形菜单,是一种不同于传统横向或者竖向菜单形式的菜单.最近在网上看到好多人写出了这种效果,于是也尝试自己写了一个. 实现方式:原生态js 主要结构: 1.参数合并 1 var defaultPra = { 2 mainMenuId: "ArcMenu",//主菜单id 3 menuBoxId:"menuBox",//菜单包裹id 4 position: "",//弧形菜单 5 customPosition:"0

原生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" lang="en"> <head> <title>d

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

话不多说,所有代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>当前时间显示 </title> </head> <body onload="startTime()"> <d

原生JS写的ajax函数

参照JQuery中的ajax功能,用原生JS写了一个ajax,功能相对JQuery要少很多,不过基本功能都有,包括JSONP. 调用的方式分为两种: 1. ajax(url, {}); 2. ajax({}); 调用的方法参照JQuery的ajax,只是 不需要写$.ajax ,只需要写 ajax 就可以了. 代码如下: !function () { var jsonp_idx = 1; return ajax = function (url, options) { if (typeof url

用原生JS写移动动画案例及实际应用

js很强大 相信很多人都知道,那么它有哪些强大之处呢?有兴趣的人可以去查查,这里就不赘述了,因为不在本片文章讨论的范围. 我们要讲的是怎么用原生JS写移动动画?我们先举一个最简单的动画例子,很多网站的左边或右边会有个分享的框,鼠标放上去就还移出一个列表,里面是要分享的地址.鼠标移开,就会移进去. 要实现这个效果要怎么做呢? 可以想一想,鼠标经过和鼠标离开很好理解 用onmousemove事件和onmouseout事件就能完成. 那移动动画呢?我们可以一步一步思考, 首先,一开始是这样的 完成移动

原生js写简单轮播图方式1-从左向右滑动

轮播图就是让图片每隔几秒自动滑动,达到图片轮流播放的效果.轮播图从效果来说有滑动式的也有渐入式的,滑动式的轮播图就是图片从左向右滑入的效果,渐入式的轮播图就是图片根据透明度渐渐显示的效果,这里说的是实现第一种效果的方法. 原理 相同大小的图片并成一列,但只显示其中一张图片,其余的隐藏,通过修改left值来改变显示的图片.点击查看效果 html部分 nav为总容器,第一个ul列表#index为小圆点列表,鼠标覆盖哪个小圆点就显现第几张图片,on是一个给小圆点添加背景颜色属性的类:第二个ul列表#i

用js写的一个路由

前几天在院子里看了一个大牛用js写了一个路由的,有一句代码一直不知道怎么回事,后来就自己写了一个,写的比较的粗糙,我觉得把面向对象的思想都搞得乱七八糟的,不过功能实现了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js实现路由</title> </head> <body> &

原生js写的贪吃蛇网页版游戏

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>原生js写的贪吃蛇网页版游戏</title> </head> <body><div><A href="http://www.999jiujiu.com/">h

带背景颜色的小三角实现

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>带背景颜色的小三角实现</title> <style>#top { position: absolute; width: 0px; height: 0px; line-height: 0px;/*为了防止ie下出现题型*/ border-bottom: 10px solid #89b00