js css3实现图片拖拽效果


Posted in Javascript onMarch 04, 2017

本文实例为大家分享了css3实现图片拖拽效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      body{
        text-align: center;
      }
      .container{
        display: flex;
        justify-content: center;
      }
      .colorBox{
        width: 100px;
        height: 100px;
        border:1px solid gray;
        margin: 0 20px;
      }
      .showBox{
        width: 100px;
        height: 100px;
        border:5px dashed gray;
        margin: 0 auto;
      }
      .colorBox:nth-child(1){
        background-color: orange;
      }
      .colorBox:nth-child(2){
        background-color: skyblue;
      }
      .colorBox:nth-child(3){
        background-color: yellowgreen;
      }
      img{
        border: 1px solid gray;
        margin:0 20px;
      }
    </style>
  </head>

  <body>
    <!--h1{支持拖拽的元素}+img[src='images/lf.jpg']*3+h1{需要开启拖拽的元素}+div.colorBox*3+h1{展示框}+div.showBox-->
    <h1>支持拖拽的元素</h1>
    <img src="images/lf.jpg" alt="" />
    <img src="images/nm.jpg" alt="" />
    <img src="images/sl.jpg" alt="" />
    <h1>需要开启拖拽的元素</h1>
    <div class='container'>
      <!--添加开启拖拽属性-->
      <div class="colorBox" draggable="true"></div>
      <div class="colorBox" draggable="true"></div>
      <div class="colorBox" draggable="true"></div>
    </div>
    <h1>展示框</h1>
    <div class="showBox"></div>
  </body>

</html>
<script type="text/javascript">
  
  // 定义全局变量 保存 拖放元素
  var moveDom ;
  
  // 让元素 能够被 拖放的内容 丢进去
  document.querySelector('.showBox').ondragover = function (e){
    //防止浏览器默认行为(W3C)
    e.preventDefault();
  }
  
  // 拖放元素 丢到 容器内 会触发 ondrop事件
  // 如果没有在 ondragover中 阻止默认行为 那么 无法触发 ondrop事件
  document.querySelector('.showBox').ondrop = function (){
    //console.log(moveDom);
    if(moveDom.src){
      // 如果 src有值 那么设置src属性
      // 获取 moveDom的src属性 并赋值给 盒子即可
    this.style.background = 'url('+moveDom.src+')no-repeat center/cover';
    }else{
      // 如果src没有值 那么 设置背景颜色
//      console.log(moveDom);
//      console.log(moveDom.style.backgroundColor);
      // 该方法 返回的内容是 style属性
      // getComputedStyle 能够获取 style标签中 写的样式
      console.log(window.getComputedStyle(moveDom).backgroundColor);
      this.style.backgroundColor = window.getComputedStyle(moveDom).backgroundColor;
    }
  }
  
  // 当我们开始拖放元素的时候 会触发 ondragstart事件
  var imgs = document.querySelectorAll('img');
  for (var i=0;i<imgs.length;i++) {
    imgs[i].ondragstart = function (){
      moveDom = this;
    }
  }
  
  
  // 为div绑定拖拽开始事件
  var colorBoxs = document.querySelectorAll('.colorBox');
  for (var i=0;i<colorBoxs.length;i++) {
    colorBoxs[i].ondragstart = function (){
      moveDom = this;
    }
  }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery使用手册之三 CSS操作
Mar 24 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
Jul 17 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
Jan 09 Javascript
js实现具有高亮显示效果的多级菜单代码
Sep 01 Javascript
详谈JS中实现种子随机数及作用
Jul 19 Javascript
Vue2路由动画效果的实现代码
Jul 10 Javascript
es6学习之解构时应该注意的点
Aug 29 Javascript
微信小程序实现折叠展开效果
Jul 19 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
小程序实现分类页
Jul 12 Javascript
layui监听select变化,以及设置radio选中的方法
Sep 24 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
Mar 04 #Javascript
JavaScript中最常见的三个面试题解析
Mar 04 #Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
Mar 04 #Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 #Javascript
纯JS单页面赛车游戏制作代码分享
Mar 03 #Javascript
JS html时钟制作代码分享
Mar 03 #Javascript
AngularJS路由实现页面跳转实例
Mar 03 #Javascript
You might like
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
Less 安装及基本用法
2018/05/05 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
不要用强制方法杀掉python线程
2017/02/26 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python3.4实现邮件发送功能
2018/05/28 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
高中生的自我鉴定范文
2014/01/24 职场文书
移风易俗倡议书
2014/04/15 职场文书
责任书格式范文
2014/07/28 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python