问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

强烈求助!!JS 动态循环创建DIV

发布网友 发布时间:2022-04-07 05:59

我来回答

4个回答

懂视网 时间:2022-04-07 10:21

描述:

鼠标点击页面,在哪里点击就在那个位置创建一个div,宽高50,颜色随机,div在鼠标点击的正中间。

效果如下图所示:

dec4d17fbef21e6b14bc3fb27a65784.png

js代码:

var Method=(function () {
 return {
 EVENT_ID:"event_id",
 loadImage:function (arr) {
 var img=new Image();
 img.arr=arr;
 img.list=[];
 img.num=0;
// 如果DOM对象下的事件侦听没有被删除掉,将会常驻堆中
// 一旦触发了这个事件需要的条件,就会继续执行事件函数
 img.addEventListener("load",this.loadHandler);
 img.self=this;
 img.src=arr[img.num];
 },
 loadHandler:function (e) {
 this.list.push(this.cloneNode(false));
 this.num++;
 if(this.num>this.arr.length-1){
 this.removeEventListener("load",this.self.loadHandler);
 var evt=new Event(Method.EVENT_ID);
 evt.list=this.list;
 document.dispatchEvent(evt);
 return;
 }
 this.src=this.arr[this.num];
 },
 $c:function (type,parent,style) {
 var elem=document.createElement(type);
 if(parent) parent.appendChild(elem);
 for(var key in style){
 elem.style[key]=style[key];
 }
 return elem;
 },
 divColor: function () {
 var col="#";//这个字符串第一位为# 颜色的格式
 for(var i=0;i<6;i++){
 col+=parseInt(Math.random()*16).toString(16);//rondom*16后的随机值即为0-1*16==0-16; toString(16)为转化为16进制
 }
 return col;//最后返回一个七位的值 格式即为#nnnnnn 颜色的格式
 },
 random:function (min,max) {
 max=Math.max(min,max);
 min=Math.min(min,max);
 return Math.floor(Math.random()*(max-min)+min);
 },
 dragElem:function (elem) {
 elem.addEventListener("mousedown",this.mouseDragHandler);
 elem.self=this;
 },
 removeDrag:function (elem) {
 elem.removeEventListener("mousedown",this.mouseDragHandler);
 },
 mouseDragHandler:function (e) {
 if(e.type==="mousedown"){
 e.stopPropagation();
 e.preventDefault();
 document.point={x:e.offsetX,y:e.offsetY};
 document.elem=this;
 this.addEventListener("mouseup",this.self.mouseDragHandler);
 document.addEventListener("mousemove",this.self.mouseDragHandler);
 }else if(e.type==="mousemove"){
 this.elem.style.left=e.x-this.point.x+"px";
 this.elem.style.top=e.y-this.point.y+"px";
 }else if(e.type==="mouseup"){
 this.removeEventListener("mouseup",this.self.mouseDragHandler);
 document.removeEventListener("mousemove",this.self.mouseDragHandler);
 }
 }
 }
})();

html代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<script src="js/Method.js"></script>
<body>
 <script>
 init();
 function init() {
 document.addEventListener("mousedown",mouseHandler);
 }
 
 function mouseHandler(e) {
 var randomDiv=Method.$c("div",document.body,{
 width: "50px",
 height: "50px",
 position: "absolute",
 backgroundColor:divColor()
 })
 randomDiv.style.left=e.clientX-randomDiv.offsetWidth/2+"px";
 randomDiv.style.top=e.clientY-randomDiv.offsetHeight/2+"px";
/* top:e.clientY-this.offsetHeight/2+"px",//原因 设置为了X...xbl
// removeEventListener(randomDiv);*/
 }
 
 function divColor() {
 var col="#";//这个字符串第一位为# 颜色的格式
 for(var i=0;i<6;i++){
 col+=parseInt(Math.random()*16).toString(16);//rondom*16后的随机值即为0-1*16==0-16; toString(16)为转化为16进制
 }
 return col;//最后返回一个七位的值 格式即为#nnnnnn 颜色的格式
 }
 </script>
</body>
</html>

相关教程推荐:js教程

热心网友 时间:2022-04-07 07:29

1、新建一个html文件,命名为test.html。

2、在test.html文件内,引入jquery.min.js库文件,成功加载该文件,才能使用jquery中的方法。

3、在test.html文件内,使用div标签创建一行文字,并设置其class为bg,主要用于下面通过该class来获得div对象。

4、在test.html文件内,在div标签内,通过style来设置div的背景颜色,定义其背景颜色为红色,文字颜色为白色。

5、在test.html文件内,使用button标签创建一个按钮,给button按钮绑定onclick点击事件,当按钮被点击时,执行editbg()函数。

6、在js标签内,创建一个editbg()函数,在函数内,使用$符通过div的class属性值(bg)来获得div对象,再使用css()方法设置background属性为blue,即更改背景颜色为蓝色。

热心网友 时间:2022-04-07 08:47

var Shu =7;
for (i=0;i<Shu;i++){
var objdiv = document.createElement("div");
objdiv .innerHTML = i+1;
document.body.appendChild(objdiv );
}
我晕
Shu.length;不能这样写,Shu既然是数字,就直接用啊

热心网友 时间:2022-04-07 10:21

var Shu =7,
df = document.createDocumentFragment();
for (var i=1;i<= Shu;i++){
var oDiv = document.createElement("div");
oDiv.innerHTML = i;
df.appendChild(oDiv);
}
document.body.appendChild(df);

建议按上面的写。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024上海高考考几天 利息五零五是什么意思 细数唐朝各个不同阶段的妆容,初唐娇俏,盛唐精致,晚唐的有点丑 穿古装化什么妆才好看 中国最被忽略的火锅大省,吃肉第一名! win10清理电脑垃圾cmd命令是什么 知识经济经济定义 宇泛智能app是什么意思 宇泛智能科技 宇泛智能是什么 ios天气预报app有不用打开定位的吗 直接设置不可以吗非得开定位费电 哪位大神知道手机天气预报怎么老是显示外地方? 梦见死人复活领在职工资 梦见死人给我发工资 梦见死人回来找我姐要工资 苹果5s为什么需要定位才有天气预报?该怎么设置不需要定位? 梦见认识的死人找活着的人要工钱是什么意思? 天气预报,必须开着GPS定位才能更新吗 手机查天气要怎样不开gps定位也可以更新 荣耀50耳返怎么设置? vivox6plus耳返怎样设置 花椒直播耳返设置在哪里 唱吧里的耳返怎么弄??急急急求解~ AU怎么设置耳返 华为mate30唱鸭耳返功能怎么开? 可孚额温枪怎么恢复出厂设置 可孚额温枪显示错误怎么办? 可孚体温枪如果买来不会亮也不会显示怎么办? 紧急救助~黑眼圈眼袋很严重,怎么消都消不掉,怎么办? 老年人眼袋和周围发紫发黑 梦见死人拿我钱追问他要 NOTE3 小组件“天气”能否不用“GPS定位”可显示即时天气预报? 梦到和死人去拿钱了,还说话了 华为P7,怎样去掉卫星定位的天气预报 梦到死人纠缠挖我工资发放 刚刚做梦梦见死人拿我的钱 梦见死人来找你,是凶是吉 渣打银行(中国)有限公司 总行管理部的地址? 梦到在死人那里预支工资好不好? 谁知道上海嘉里中心22层是什么公司? 澳洲驻上海总领事馆的正确地址和电话号码 上海80年代到90年代最显著的一个地标建筑是哪里它的高度是多少_百度问一问 上海市淮海中路333号22楼是哪个公司所在地? 上海中心大厦有多少层? 孩子还没出生可以查五行缺什么吗? 姓王孩子是阴历2012.3.6出生请问五行中缺什么啊? 2013年阴历三月出生的宝宝命里缺什么?该如何取名字 今天出生宝宝五行缺什么? 今日14点生的孩子五行缺什么 bilibili中的视屏可以下载到电脑么?