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 相关文章推荐
JScript 脚本实现文件下载 一般用于下载木马
Oct 29 Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
如何用js控制frame的隐藏或显示的解决办法
Mar 20 Javascript
jquery利用ajax调用后台方法实例
Aug 23 Javascript
实用框架(iframe)操作代码
Oct 23 Javascript
AngularJS基础学习笔记之表达式
May 10 Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 Javascript
深入理解JavaScript 函数
Jun 06 Javascript
轻松掌握JavaScript代理模式
Aug 26 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 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导出oracle库的php代码
2009/04/20 PHP
php中Ctype函数用法详解
2014/12/09 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
js实现简单页面全屏
2019/09/17 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
Python3基础之函数用法
2014/08/13 Python
python elasticsearch环境搭建详解
2019/09/02 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
python可视化text()函数使用详解
2020/02/11 Python
Python中的__init__作用是什么
2020/06/09 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
打架检讨书50字
2014/01/11 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
目标管理责任书
2014/04/15 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
python 镜像环境搭建总结
2022/09/23 Python