javascript实现了照片拖拽点击置顶的照片墙代码


Posted in Javascript onApril 03, 2015

演示图

javascript实现了照片拖拽点击置顶的照片墙代码

styles.css

*{ /*清空所有元素默认的外边距和内边距*/
 
}
 
.photo_wall{
background:url(bg.jpg); /*定义照片墙的默认背景*/
background-size:cover; /*使照片墙的背景填充照片墙*/
width:1200px; /*设置照片墙的宽高*/
height:500px;
margin:40px auto; /*设置照片墙的外边距*/
display:-webkit-box; /*使用CSS3的盒模型之流式布局*/
display:-moz-box;
display:box;
-webkit-box-align:center; /*定义盒模型内部元素在垂直方向上居于中间位置*/
-moz-box-align:center;
 box-align:center;
-webkit-box-pack:center; /*定义盒模型内部元素在水平方向上居于中间位置*/
-moz-box-pack:center;
 box-pack:center;
}
 
.photo_wall .photo_frame{
text-align:center; /*照片内的文字都是居中显示*/
padding:10px 10px 30px 10px; /*定义照片的内补白*/
background-color:#f2eada; /*设置照片的背景颜色*/
font-size:.8em; /*照片内文字的大小*/
box-shadow:.2em .2em .8em #130c0e; /*给照片添加阴影效果,富有立体感*/
}
 
.photo_frame p{
 
margin-top:10px; /*设置照片内显示文字段落的外上边距*/
}
#photo01{
position:fixed;top:90px;left:50px;
-webkit-transform-origin:right bottom; /*定义照片1的旋转基点为 右下角*/
-moz-transform-origin:right bottom;
transform-origin:right bottom;
-webkit-transform:rotate(10deg); /*以基点为轴,在2D空间内顺时针旋转10度*/
-moz-transform:rotate(10deg);
-o-transform:rotate(10deg);
transform:rotate(10deg);
position:absolute;
}
 
#photo02{
position:fixed;top:100px;left:300px;
-webkit-transform-origin:right bottom; /*定义照片2的旋转基点为 右下角*/
-moz-transform-origin:right bottom;
transform-origin:right bottom;
-webkit-transform:rotate(-20deg); /*以基点为轴,在2D空间内逆时针旋转20度*/
-moz-transform:rotate(-20deg);
-o-transform:rotate(-20deg);
transform:rotate(-20deg);
position:absolute;
}
 
#photo03{
position:fixed;top:80px;left:750px;
-webkit-transform-origin:left top; /*定义照片3的旋转基点为 左上角*/
-moz-transform-origin:left top;
transform-origin:left top;
-webkit-transform:rotate(40deg); /*以基点为轴,在2D空间内顺时针旋转40度*/
-moz-transform:rotate(40deg);
-o-transform:rotate(40deg);
transform:rotate(40deg);
position:absolute;
}
#vedio1{
position:fixed;top:250px;left:950px;
-webkit-transform-origin:right top; /*定义照片3的旋转基点为 左上角*/
-moz-transform-origin:right top;
transform-origin:right top;
-webkit-transform:rotate(-100deg); /*以基点为轴,在2D空间内顺时针旋转40度*/
-moz-transform:rotate(50deg);
-o-transform:rotate(-50deg);
transform:rotate(50deg);
position:absolute;
}
 
div{cursor:move;}
#top
{
right:0;top:0; 
width:100px;
height:100%;
position:fixed; 
padding:10px; 
text-align:center; 
font-weight:bold; 
background:#f2eada;
opacity:0.9;
}

drag.js

var zIndex = 1;
window.onload = function ()
{
  var x=document.getElementsByName("photo");
  for(var i=0;i<x.length;i++)
  {
    drag(x[i]);
    //alter(x[i].value);
  }
  //var oDrag1 = document.getElementById("photo01");
  //var oDrag2 = document.getElementById("photo02");
  //var oDrag3 = document.getElementById("photo03");
  //var oDrag4 = document.getElementById("vedio1");
  //drag(oDrag1);
  //drag(oDrag2);
  //drag(oDrag3);
  //drag(oDrag4);
};
var cengshu=0;
function drag(oDrag)
{
  var disX = dixY = 0;
  oDrag.onmousedown = function (event)
  {
    var event = event || window.event;
    disX = event.clientX - this.offsetLeft;
    disY = event.clientY - this.offsetTop;   
    oDrag.style.position='fixed';
    oDrag.style.zIndex=cengshu++;
    //var oTemp = document.createElement("div");
    //oTemp["id"] = "temp";
    //oTemp.style.left = this.currentStyle ? this.currentStyle["left"] : getComputedStyle(this, null)["left"];
    //oTemp.style.top = this.currentStyle ? this.currentStyle["top"] : getComputedStyle(this, null)["top"];
    //oTemp.style.zIndex = zIndex++;
    //document.body.appendChild(oTemp);
     
    document.onmousemove = function (event)
    {
      var event = event || window.event;
      var iL = event.clientX - disX;
      var iT = event.clientY - disY;
      var maxL = document.documentElement.clientWidth - oDrag.offsetWidth;
      var maxT = document.documentElement.clientHeight - oDrag.offsetHeight
       
      iL <= 0 && (iL = 0);
      iT <= 0 && (iT = 0);
      iL >= maxL && (iL = maxL);
      iT >= maxT && (iT = maxT);
       
      oDrag.style.left = iL + "px";
      oDrag.style.top = iT + "px";
      return false;
    };
     
    document.onmouseup = function ()
    {
      document.onmousemove = null;
      document.onmouseup = null;
      oDrag.style.left = oTemp.style.left;
      oDrag.style.top = oTemp.style.top;
      oDrag.style.zIndex = oTemp.style.zIndex;
      document.body.removeChild(oTemp);
      oDrag.releaseCapture && oDrag.releaseCapture()
    };
     
    this.setCapture && this.setCapture();    
    return false
  }  
}

picwall.html

<!DOCTYPE html>
<html>
<head>
  <style>
    div
    {
      cursor: move;
    }
  </style>
  <link href="styles.css" rel="stylesheet">
  <script type="text/javascript" src="drag.js"></script>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
</head>
<body class="photo_wall">
  <div name = "photo" class="photo_frame" id="photo01" name="dr">
    <img src="30554.jpg" width="350" height="200" alt="fuck you">
    <p>
      面对两侧金色的树木,内心莫名的喜悦!</p>
    <p>
      作者: 纤上陌</p>
  </div>
  <div name = "photo" class="photo_frame" id="photo02" name="dr">
    <img src="30774.jpg" width="350" height="200" alt="fuck you">
    <p>
      很遗憾两颗心画在了沙滩上</p>
    <p>
      作者: 她留我走</p>
  </div>
  <div name = "photo" class="photo_frame" id="photo03" name="dr">
    <img src="30729.jpg" width="350" height="200" alt="fuck you">
    <p>
      野花也要精彩</p>
    <p>
      作者: Love&Peace</p>
  </div>
  <div name = "photo" class="photo_frame" id="vedio1" name="dr">
    <video src="VID_20141106_145936.mp4" controls="controls" width="350" height="200" alt="fuck you">您的浏览器不支持 video 标签。</video>
    <p>嘉和秋季运动会</p>
    <p>作者:忽左忽右</p>
  </div>
</body>
</html>

所用到的图片

javascript实现了照片拖拽点击置顶的照片墙代码

javascript实现了照片拖拽点击置顶的照片墙代码

javascript实现了照片拖拽点击置顶的照片墙代码

javascript实现了照片拖拽点击置顶的照片墙代码

以上所述就是本文的全部内容了,希望能够对大家熟练掌握javascript有所帮助。

Javascript 相关文章推荐
JavaScript RegExp方法获取地址栏参数(面向对象)
Mar 10 Javascript
再谈querySelector和querySelectorAll的区别与联系
Apr 20 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
JavaScript 获取任一float型小数点后两位的小数
Jun 30 Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 Javascript
解决layui中的form表单与button的点击事件冲突问题
Aug 15 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
Jan 29 Javascript
Vue 刷新当前路由的实现代码
Sep 26 Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 Javascript
Javascript代码实现仿实例化类
Apr 03 #Javascript
使用Jquery实现每日签到功能
Apr 03 #Javascript
JavaScript获取按钮所在form表单id的方法
Apr 02 #Javascript
JavaScript获取表单内所有元素值的方法
Apr 02 #Javascript
jQuery简单实现QQ空间点赞已经取消点赞
Apr 02 #Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 #Javascript
JavaScript获取网页表单action属性的方法
Apr 02 #Javascript
You might like
剖析 PHP 中的输出缓冲
2006/12/21 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
JS前端加密算法示例
2016/12/22 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
Python tkinter模版代码实例
2020/02/05 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
深入浅析Python代码规范性检测
2020/07/31 Python
浅析python中的del用法
2020/09/02 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
新电JAVA笔试题目
2014/08/31 面试题
党员干部廉洁承诺书
2014/05/28 职场文书
公司内部升职自荐信
2015/03/27 职场文书
2015年班组长工作总结
2015/04/10 职场文书
入党介绍人考察意见
2015/06/01 职场文书
中秋节主题班会
2015/08/14 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python