如果为false,拖放会将我带到另一个网站,如果为true,则会重新启动动画
Drag and drop takes me to a different website if false or restarts animation if true
我有这个动画:http://codepen.io/tiamat/pen/Jrdvx当彩色圆圈变为黑色时,它将重新启动动画。当它没有进入它时,它会把我带到circle.com网站。我可以同时停止这两种操作吗?我希望如果成功,不要重新启动动画,而是将彩色圆圈保留在黑色的那个。
html:
<div id="intreg" style="border:1px solid #000000; width:750px; height: 550px;" >
<div id="jos">
<div id="square_drop"ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" ondragover="return dragOver(event)"></div>
<div id="circle_drop"ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" ondragover="return dragOver(event)"></div>
</div>
<div id="sus">
<div id="triangle_drop"ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" ondragover="return dragOver(event)"></div>
<div id="square" draggable="true"ondragstart="return dragStart(event)"></div>
<div id="circle" draggable="true"ondragstart="return dragStart(event)"></div>
<div id="triangle" draggable="true"ondragstart="return dragStart(event)"></div>
</div>
</div>
javascript:
function dragStart(ev) {
ev.dataTransfer.effectAllowed='move';
ev.dataTransfer.setData("Text", ev.target.getAttribute('id'));
ev.dataTransfer.setDragImage(ev.target,100,100);
return true;
}
function dragEnter(ev) {
event.preventDefault();
return true;
}
function dragOver(ev) {
event.preventDefault();
}
function dragDrop(ev) {
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
ev.stopPropagation();
return false;
}
css:
#square {
-webkit-animation: move4 3s forwards linear ;
-moz-animation: move4 3s forwards linear ;
-o-animation: move4 3s forwards linear ;
}
@-webkit-keyframes move4 {
0% {margin-bottom: -400px;margin-left:-100px;}
100% {margin-top: -130px;margin-left: 400px;}
}
@-moz-keyframes move4 {
0% {margin-top: 1400px;margin-left:-100px;}
100% {margin-top: 30px;margin-left: 400px;}
}
@-o-keyframes move4 {
0% {margin-bottom: -400px;margin-left:-100px;}
100% {margin-top: -130px;margin-left: 400px;}
}
#circle {
-webkit-animation: move5 3s forwards linear ;
-moz-animation: move5 3s forwards linear ;
-o-animation: move5 3s forwards linear ;}
@-webkit-keyframes move5 {
0% {margin-top: 1000px;margin-left:-100px;}
100% {margin-top: -40px;margin-left: 150px;}
}
@-moz-keyframes move5 {
0% {margin-top: 1000px;margin-left:-100px;}
100% {margin-top: -40px;margin-left: 150px;}
}
@-o-keyframes move5 {
0% {margin-top: 1000px;margin-left:-100px;}
100% {margin-top: -40px;margin-left: 150px;}
}
#triangle {
-webkit-animation: move6 3s forwards linear ;
-moz-animation: move6 3s forwards linear ;
-o-animation: move6 3s forwards linear ;
}
@-webkit-keyframes move6 {
0% {margin-top: 1000px;margin-left:-100px;}
100% {margin-top: -120px;margin-left: 20px;}
}
@-moz-keyframes move6 {
0% {margin-top: 1000px;margin-left:-100px;}
100% {margin-top: -120px;margin-left: 20px;}
}
@-o-keyframes move6 {
0% {margin-top: 1000px;margin-left:-100px;}
100% {margin-top: -120px;margin-left: 20px;}
}
对于彩色圆圈被放置在黑色圆圈上的情况:当您附加被放置的元素时,它会在其新位置重新渲染,包括您在样式中指定的动画。你可以尝试创建一个类,删除动画
#circle.stay {
-webkit-animation: none !important;
-moz-animation: none !important;
-o-animation: none !important;
}
并在将该类添加到元素的新主页之前将其添加到元素中:
function dragDrop(ev) {
var data = ev.dataTransfer.getData("Text");
var el = document.getElementById(data);
el.className="stay";
ev.target.appendChild(el);
ev.stopPropagation();
return false;
}
对于未命中的情况,请在body
元素中添加一个ondrop处理程序,以取消拖动
<body ondrop="return false">
代码笔
相关文章:
- 如果我的内容/网站有名字,我可以用不同的方式设计我的网站吗
- 如果用户回答是,我想关闭网站
- 如何从网站获得apple touch图标,如果没有;不存在,则显示收藏夹
- 如果按钮打开,则功能可转到网站
- 如果从我的网站在浏览器中安装了其他程序,如何在移动应用程序中打开共享对话框
- 如果在一段时间不活动后4秒内开始加载,如何刷新我的网站
- 如果我在网站上运行IE8调试器,代码会发生什么变化
- 如果网站在框架/ iframe内,则document.referer将始终包含一个值
- 如果网址以“lang=fr”结尾,如何更改网站语言
- 如果我的网站在iframe中,我不希望标题显示在任何页面中
- 如果禁用了 js,如何显示 php 生成的网站
- 如果网页排名低于 2,请不要让网站提交
- 如果在移动设备上查看网站,请更改样式
- 如果用户来自网站上的上一页,那么这个,否则这样做
- 如果网站刷新,则阻止 php 调用的 mysql 服务器运行
- 我如何使用 php 或 JavaScript 使一个人被重定向到我的移动网站(如果他们在移动设备上)
- 如果右键单击网站并查看源代码,我的json数据也会显示出来.我将如何防止它
- 如果我在我的页面上使用 CSS 缩放,然后将另一个包含动画的网站加载到 iframe 中,我的页面会变得模糊并且动画行为
- 如果有应用程序,则提示网站用户
- 如果用户在我的响应网站中的纵向模式下单击切换按钮,则导航菜单将在横向模式下消失