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 相关文章推荐
javascript完美拖拽的实现方法
Sep 29 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
JS简单实现登陆验证附效果图
Nov 19 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
Dec 15 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
浅谈JavaScript超时调用和间歇调用
Aug 30 Javascript
vue开发心得和技巧分享
Oct 27 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
微信jssdk逻辑在vue中的运用详解
Nov 14 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
layui表格数据重载
Jul 27 Javascript
JS函数式编程实现XDM一
Jun 16 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
深入理解PHP内核(一)
2015/11/10 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python切片用法实例教程
2014/09/08 Python
python数组复制拷贝的实现方法
2015/06/09 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
优秀员工自荐书范文
2013/12/08 职场文书
人事助理自荐信
2014/02/02 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
我是特种兵观后感
2015/06/11 职场文书
奠基仪式致辞
2015/07/30 职场文书
八年级作文之友谊
2019/12/02 职场文书
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏