问答文章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:41

我来回答

4个回答

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

描述:

div通过键盘事件上下左右实现div块的移动

效果:

9ad88c8ff0ad0ea71b1d04528c315d2.png

(视频教程推荐:js视频教程)

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>
 <script src="js/Method.js"></script>
</head>
<body>
<script>
 var div;
 var code=[];
 var speed=2;
 var bool=false;
 init();
 function init() {
 div=Method.$c("div",document.body,{
 width:"50px",
 height:"50px",
 backgroundColor:"red",
 position:"absolute",
 left:0,
 top:0
 });
 window.addEventListener("keydown",keyHandler);
 window.addEventListener("keyup",keyHandler);
 setInterval(animation,16);
 }
 
 function keyHandler(e) {
 if(e.type==="keydown" && (!bool || code.indexOf(e.keyCode)===-1)){
 bool=true;
 code.push(e.keyCode);
 }else if(e.type==="keyup"){
 bool=false;
 code.length=0;
 }
 }
 
 function animation() {
 if(!bool)return;
 for(var i=0;i<code.length;i++){
 switch (code[i]){
 case 37:
  div.style.left=div.offsetLeft-speed+"px";
  break;
 case 38:
  div.style.top=div.offsetTop-speed+"px";
  break;
 case 39:
  div.style.left=div.offsetLeft+speed+"px";
  break;
 case 40:
  div.style.top=div.offsetTop+speed+"px";
  break;
 }
 }
 }
</script>
</body>
</html>

推荐教程:js入门教程

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

JS控制DIV层显示与隐藏
用JS控制DIV层的隐藏与显示。页面中有三个DIV层,三个超级链接,实现的功能是点击一个链接,显示相应的DIV层,同时隐藏另外两个DIV层。
实例代码如下:
示例一
<html>
<head>
<script type="text/javascript">
function changeBody(index){
switch(index){
case 1:{
document.getElementById('iDBody1').style.display = "";
document.getElementById('iDBody2').style.display = "none";
document.getElementById('iDBody3').style.display = "none";
break;
}
case 2:{
document.getElementById('iDBody1').style.display = "none";
document.getElementById('iDBody2').style.display = "";
document.getElementById('iDBody3').style.display = "none";
break;
}
case 3:{
document.getElementById('iDBody1').style.display = "none";
document.getElementById('iDBody2').style.display = "none";
document.getElementById('iDBody3').style.display = "";
break;
}
}
}
</script>
</head>
<body>
<a href="javascript:changeBody(1)">模块A</a>
<a href="javascript:changeBody(2)">模块B</a>
<a href="javascript:changeBody(3)">模块C</a>
<div style="display: none" id="iDBody1"> 模块(一)的相关内容 </div>
<div style="display: none" id="iDBody2"> 模块(二)的相关内容 </div>
<div style="display: none" id="iDBody3"> 模块(三)的相关内容 </div>
</body>
</html>

示例二
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>DIV-3</title>
<style type="text/css">
.hiddiv {display:none}
</style>
<SCRIPT language=JavaScript>
<!-- function a(x){
for( i=0; i<divLen; i++ ){
if(allDiv[i].className=="hiddiv")
allDiv[i].style.display = "none"
if(allDiv[i].id=="div"+x)
allDiv[i].style.display = "block"
}
}
window.onload = function(){
allDiv = document.getElementsByTagName("div");
divLen = allDiv.length
}
-->
</SCRIPT>
</head>
<body>
<div id="div1" class="hiddiv" style="display:block">此处显示 id "div1" 的内容</div><br>
<div id="div2" class="hiddiv">此处显示 id "div2" 的内容</div><br>
<div id="div3" class="hiddiv">此处显示 id "div3" 的内容</div><br>
<div id="div4" class="hiddiv">此处显示 id "div4" 的内容</div><br>
<select onChange="a(value)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</body>
</html>

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

在DIV上放个X,点击这个X,通过JS把这个DIV的display:none,
移动就是改变div对于整个窗口的TOP和left,或者right,bottom的值

你想做右下角的移出来的广告?

用JQuery做更加简单,但思路还是一样的

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

http://www.99n9.com/bencandy-37-1474-1.htm
http://www.99n9.com/bencandy-37-1798-1.htm
http://www.99n9.com/bencandy-37-1818-1.htm
这么多够不够??里面还有很多,代码全在了我就不多说了.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 家用空调换热器中不同规格的铜管作用有何区别? 空调铜管粗换细有影响吗 海尔空调连接主力机上粗细铜管的工用是什么? 冷暖两用空调,铜管为什么有粗细 空调的粗管和细管的区别 空调粗管和细管是干什么的? 空调的粗管和细管是什么作用? 空调的粗管和细管是什么作用 电信天翼机顶盒怎么设置无线路由器? 快消公司用业务员定位干嘛?怎么办呢? 手机定位来管理我的业务员能行吗? 公司怎么管理在外跑的业务员? 如何管理业务员? 舟谱快消对业务员定位吗 快消公司用业务员定位干嘛?谁能回答我? 公司为了更好的管理业务员上了一套业务员定位系统,但员工很排斥,工作积极性明显下降了,该怎么办? 如何管理业务员,对业务员考勤? 手机定位原理是什么,用于管理外勤业务员哪种定位比较实用? 业务员每天打卡定位管理利弊 怎样用js实现每次点击按钮都使div向右移动50px 7厘米的卵巢囊肿3个月后自己消失了为什么 我卵巢囊肿6厘米大不到一个月怎么今天复查没有了 卵巢囊肿会自行消失吗 20天前B超检查说是有7厘米大的卵巢囊肿,现在查说什么都没有了,可能吗 卵巢囊肿6厘米,成网状了,还有可能会自动消吗? 5cm大的卵巢囊肿会自己消失吗 可自己消失的卵巢囊肿?拜托各位大神 女性卵巢囊肿的主要治疗方法!! 女性卵巢囊肿在什么情况下会自己消失吗? 卵巢囊肿会自己消掉吗 卵巢囊肿会自行消失吗,需要如何治疗? 老婆多房型卵巢囊肿6公分了,能治好吗? 卵巢囊肿6cm,严重吗 池州有哪些牌子的茶叶? 茶叶胜地:中国十大名茶安徽有几个 安徽有哪些好喝的茶叶? 土豆冻了能吃嘛? vivo手机音乐不能使用 喜欢运动的中老年人的着装小窍门是什么? 老年人日常的精致穿搭,真实自然接地气,随意中又带点小时尚,你怎么看?