javascript 简单实现页面上的拖放功能
2008-05-26 15:16
1276 查看
<html>
<head>
<style type="text/css">
td{text-align:center}
th{text-decoration: underline}
.blanks{text-decoration:underline}
</style>
<title></title>
<script type="text/javascript">
var timer;
function setupDrag()
{
if(event.srcElement.tagName != "TD")
{
event.returnValue = false;
}
else
{
var passedData = [event.srcElement.innerText, event.srcElement.className];
event.dataTransfer.setData("Text",passedData.join(":"));
event.dataTransfer.effectAllowed= "copy";
timer = new Date();
}
}
function timeIt()
{
if(event.srcElement.tagName == "TD"&&timer)
{
if((new Date())-timer>6000)
{
alert("Sorry, time is up,Try again.")
timer = 0;
}
}
}
function handleDrop()
{
var elem = event.srcElement;
var passedData = event.dataTransfer.getData("Text");
var errMsg = "";
if(passedData)
{
passedData = passedData.split(":");
if(elem.id=="blank1")
{
if(passedData[1] =="noun")
{
event.dataTransfer.dropEffect ="copy";
event.srcElement.innerText = passedData[0];
}
else
{
errMsg = "You cannot put an adjective into the noun placeholder.";
}
}
else if(elem.id=="blank2")
{
if(passedData[1] =="adjective")
{
event.dataTransfer.dropEffect = "copy";
event.srcElement.innerText = passedData[0];
}
else
{
errMsg = "You cannot put an noun into the noun placeholder.";
}
}
if(errMsg)
{
alert(errMsg);
}
}
}
function cancelDefault()
{
if(event.srcElement.id.indexOf("blank")==0)
{
event.dataTransfer.dropEffect = "copy";
event.returnValue = false;
}
}
</script>
</head>
<body ondragstart="setupDrag()" ondblclick="timeIt()">
<center>
<table border="2" cellpadding="5">
<tr>
<th>Nouns</th>
<th>Adjective</th>
</tr>
<tr>
<td class="noun">truck</td>
<td class="adjective">round</td>
</tr>
<tr>
<td class="noun">doll</td>
<td class="adjective">red</td>
</tr>
<tr>
<td class="noun">ball</td>
<td class="adjective">Pretty</td>
</tr>
</table>
<p id="myP" ondragenter="cancelDefault()" ondragover="cancelDefault()" ondrop="handleDrop()">Pat said,"oh my, the<span id="blank1" class="blanks"> </span>is so <span id="blank2" class="blanks"> </span>!"</p>
<button onclick="location.reload()">Reset</button>
</center>
</body>
</html>
<head>
<style type="text/css">
td{text-align:center}
th{text-decoration: underline}
.blanks{text-decoration:underline}
</style>
<title></title>
<script type="text/javascript">
var timer;
function setupDrag()
{
if(event.srcElement.tagName != "TD")
{
event.returnValue = false;
}
else
{
var passedData = [event.srcElement.innerText, event.srcElement.className];
event.dataTransfer.setData("Text",passedData.join(":"));
event.dataTransfer.effectAllowed= "copy";
timer = new Date();
}
}
function timeIt()
{
if(event.srcElement.tagName == "TD"&&timer)
{
if((new Date())-timer>6000)
{
alert("Sorry, time is up,Try again.")
timer = 0;
}
}
}
function handleDrop()
{
var elem = event.srcElement;
var passedData = event.dataTransfer.getData("Text");
var errMsg = "";
if(passedData)
{
passedData = passedData.split(":");
if(elem.id=="blank1")
{
if(passedData[1] =="noun")
{
event.dataTransfer.dropEffect ="copy";
event.srcElement.innerText = passedData[0];
}
else
{
errMsg = "You cannot put an adjective into the noun placeholder.";
}
}
else if(elem.id=="blank2")
{
if(passedData[1] =="adjective")
{
event.dataTransfer.dropEffect = "copy";
event.srcElement.innerText = passedData[0];
}
else
{
errMsg = "You cannot put an noun into the noun placeholder.";
}
}
if(errMsg)
{
alert(errMsg);
}
}
}
function cancelDefault()
{
if(event.srcElement.id.indexOf("blank")==0)
{
event.dataTransfer.dropEffect = "copy";
event.returnValue = false;
}
}
</script>
</head>
<body ondragstart="setupDrag()" ondblclick="timeIt()">
<center>
<table border="2" cellpadding="5">
<tr>
<th>Nouns</th>
<th>Adjective</th>
</tr>
<tr>
<td class="noun">truck</td>
<td class="adjective">round</td>
</tr>
<tr>
<td class="noun">doll</td>
<td class="adjective">red</td>
</tr>
<tr>
<td class="noun">ball</td>
<td class="adjective">Pretty</td>
</tr>
</table>
<p id="myP" ondragenter="cancelDefault()" ondragover="cancelDefault()" ondrop="handleDrop()">Pat said,"oh my, the<span id="blank1" class="blanks"> </span>is so <span id="blank2" class="blanks"> </span>!"</p>
<button onclick="location.reload()">Reset</button>
</center>
</body>
</html>
相关文章推荐
- Javascript实现一个简单的页面倒计时功能
- 非常简单的兼容多浏览器Javascript实现分页功能
- HTML5实现简单的拖放功能
- [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
- 使用 JavaScript 实现简单候选项推荐功能(模糊搜索)
- JavaScript实现页面实时显示当前时间的简单实例
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
- 简单的asp.net模拟邮箱系统基础实现(二 (2)具体版块功能的实现及关键代码之登陆页面)
- JavaScript实现的简单Tab点击切换功能示例
- JavaScript实现简单循环切换功能.
- 使用 JavaScript 实现简单候选项推荐功能(模糊搜索)【收藏】【转】
- javascript实现简单的弹出层以及拖拽功能(支持firefox、IE7.0以上、oprea、chrom)
- JavaScript地图拖动功能SpryMap的简单实现
- 一步一步学Silverlight 2系列(5):实现简单的拖放功能
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
- javascript基础-实现简单功能
- require.js与bootstrap结合实现简单的页面登录和页面跳转功能
- 一步一步学Silverlight 2系列(5):实现简单的拖放功能
- JavaScript简单实现鼠标拖动选择功能
- 第05课 实现简单的拖放功能