当前位置: 首页 > news >正文

html5 drag this,HTML5之ondragover,ondrop,ondragstart

利用HTML5新增的ondragover,ondrop,ondragstart函数做了个的拼图游戏,做好后玩着感觉挺好玩,可是却怎么也拼不回原始图片,最后在别人的提醒下才知道,原来要留有两个空格,下面的拼图的代码。

要设置draggable="true"  的属性后才可以被拖动,可惜ipone里没有鼠标的操作,只能在台式电脑里玩,以后再考虑iphone吧

.div{width:300px;height:300px;border:1px solid #aaaaaa;float:left;}

function allowDrop(ev)

{ //运行拖拽到此处

ev.preventDefault();

}

function drag(ev,id)

{

//开始拖动图片

olid=id.replace("drag","");

ev.dataTransfer.setData("Text",ev.target.id);

}

var paixu=2;

var olid=0;

var newArray=new Array(new Array());

newArray[0]="1,3";

newArray[1]="0,2,4";

newArray[2]="1,5";

newArray[3]="0,4,6";

newArray[4]="1,3,5,7";

newArray[5]="2,4,8";

newArray[6]="3,7,9";

newArray[7]="4,6,8";

newArray[8]="5,7";

newArray[9]="6";

function drop(ev,id)

{//放到此处

if(id==paixu){

if(newArray[paixu].indexOf(olid)!=-1){

ev.preventDefault();

var data=ev.dataTransfer.getData("Text");

ev.target.appendChild(document.getElementById(data));

var oldid="drag"+olid;

document.getElementById(oldid).id="drag"+paixu;

paixu=olid

}}

}

请把 W3School 的图片拖放到矩形中:

window.οnlοad=setdefault();

function setdefault(){

var rand=Math.random()*9;

var n=parseInt(rand);

paixu=n;

var imgarr=new Array();

imgarr[0]="0";

imgarr[1]="1";

imgarr[2]="2";

imgarr[3]="3";

imgarr[4]="4";

imgarr[5]="5";

imgarr[6]="6";

imgarr[7]="7";

imgarr[8]="8";

for(var i=0;i<10;i++){

if(i!=n){

rand=Math.random()*(10-i)-1;

var img=parseInt(rand);

document.getElementById(i).innerHTML=''+imgarr%5Bimg%5D+'.gif';

imgarr.splice(img, 1);//移除数组,从几位开始,移除几个

}

}

}

相关文章:

  • 计算机应用基础 在线作业 f,计算机应用基础在线作业F.doc
  • 浙江省计算机二级办公软件高级应用等级,浙江省计算机等级考试
  • 计算机网口速率修改,win7系统修改无线网卡连接速率的操作方法
  • 第一年职称计算机考试,2018年职称计算机考试photoshop练习题及答案(1)
  • 老师对计算机课的评语,学生对老师课堂的评语
  • 62比特量子计算机介绍,超车量子计算机!中国破冰62比特量子计算原型机,全球比特数最高...
  • win7调取计算机慢,完美解决win7系统程序反应慢的问题方法介绍
  • 计算机里的时钟与rom关系,关于51单片机时钟与周期之间的关系之浅析
  • 动态播放幻灯片 计算机教案,小学信息技术《放映幻灯片》教案
  • 菲律宾亚洲计算机研究所,中国承认的10所菲律宾大学
  • uibot css selector定位,UiBot如何使用CSS Selector
  • dell服务器开机蓝屏无限重启,Re: R720服务器不定期蓝屏自动重启
  • 服务器系统安装蓝牙驱动,win2008蓝牙驱动的装配教程详解
  • 虚拟机被服务器检测怎么办,虚拟机多开 虚拟机多开游戏检测到被封号怎么办? | 帮助信息-动天数据...
  • 博客被封杀,暂时使用此博客。
  • [笔记] php常见简单功能及函数
  • 2017前端实习生面试总结
  • OSS Web直传 (文件图片)
  • React as a UI Runtime(五、列表)
  • SOFAMosn配置模型
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 分布式事物理论与实践
  • 基于Android乐音识别(2)
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 硬币翻转问题,区间操作
  • ionic异常记录
  • (2015)JS ES6 必知的十个 特性
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)nsfocus-绿盟科技笔试题目
  • *1 计算机基础和操作系统基础及几大协议
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 指南:抽象化实现的基类
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET简谈设计模式之(单件模式)
  • .net中我喜欢的两种验证码
  • /etc/fstab和/etc/mtab的区别
  • [100天算法】-实现 strStr()(day 52)
  • [Android] Amazon 的 android 音视频开发文档
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [GN] DP学习笔记板子
  • [go 反射] 进阶
  • [jquery]this触发自身click事件,当前控件向上滑出
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [linux] 创建用户
  • [Matlab有限元分析] 2.杆单元有限元分析
  • [MZ test.16]P2 math 乘方e
  • [RoarCTF 2019]Easy Calc
  • [Step By Step]SAP HANA创建属性视图(Attribute View)