JS之相册拖动管理

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JS之相册拖动管理</title>
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script type="text/javascript" src="jquery.ui.core.js"></script>
<script type="text/javascript" src="jquery.ui.widget.js"></script>
<script type="text/javascript" src="jquery.ui.mouse.js"></script>
<script type="text/javascript" src="jquery.ui.draggable.js"></script>
<script type="text/javascript" src="jquery.ui.droppable.js"></script>
<link rel="stylesheet" type="text/css"
            href="Css/PhotoManage.css" />
<script type="text/javascript">
        $(function() {
            //使用变量缓存DOM对象
            var $photo = $("#photo");
            var $trash = $("#trash");

            //可以拖动包含图片的表项标记
            $("li", $photo).draggable({
                revert: "invalid", // 在拖动过程中,停止时将返回原来位置
                helper: "clone", //以复制的方式拖动
                cursor: "move"
            });

            //将相册中的图片拖动到回收站
            $trash.droppable({
                accept: "#photo li",
                activeClass: "highlight",
                drop: function(event, ui) {
                    deleteImage(ui.draggable);
                }
            });

            //将回收站中的图片还原至相册
            $photo.droppable({
                accept: "#trash li",
                activeClass: "active",
                drop: function(event, ui) {
                    recycleImage(ui.draggable);
                }
            });

            //自定义图片从相册中删除到回收站的函数
            var recyclelink = "<a href=‘#‘ title=‘从回收站还原‘ class=‘phrefresh‘>还原</a>";
            function deleteImage($item) {
                $item.fadeOut(function() {
                    var $list = $("<ul class=‘photo reset‘/>").appendTo($trash);
                    $item.find("a.phtrash").remove();
                    $item.append(recyclelink).appendTo($list).fadeIn(function() {
                        $item
                        .animate({ width: "61px" })
                        .find("img")
                        .animate({ height: "86px" });
                    });
                });
            }

            //自定义图片从回收站还原至相册时的函数
            var trashlink = "<a href=‘#‘ title=‘放入回收站‘ class=‘phtrash‘>删除</a>";
            function recycleImage($item) {
                $item.fadeOut(function() {
                    $item
                    .find("a.phrefresh")
                    .remove()
                    .end()
                    .css("width", "85px")
                    .append(trashlink)
                    .find("img")
                    .css("height", "120px")
                    .end()
                    .appendTo($photo)
                    .fadeIn();
                });
            }

            //根据图片所在位置绑定删除或还原事件
            $("ul.photo li").click(function(event) {
                var $item = $(this),
                $target = $(event.target);
                if ($target.is("a.phtrash")) {
                    deleteImage($item);
                } else if ($target.is("a.phrefresh")) {
                    recycleImage($item);
                }
                return false;
            });
        });
</script>
</head>
<body>
<div class="phframe">
  <!--图片列表-->
  <ul id="photo" class="photo">
    <li class="photoframecontent photoframetr">
      <h5 class="photoframeheader">java</h5>
      <!--图片标题-->
      <img src="Images/img01.jpg" alt="2006年图书作品" width="85" height="120" />
      <!--加载图片-->
      <span>2006年</span>
      <!--显示图片信息-->
      <a href="#" title="放入回收站" class="phtrash">删除</a>
      <!--删除链接-->
    </li>
    <li class="photoframecontent photoframetr">
      <h5 class="photoframeheader">java web</h5>
      <img src="Images/img02.jpg" alt="2008年图书作品"  width="85" height="120" /> <span>2008年</span> <a href="#" title="放入回收站" class="phtrash">删除</a> </li>
    <li class="photoframecontent photoframetr">
      <h5 class="photoframeheader">java web模块</h5>
      <img src="Images/img03.jpg" alt="2010年图书作品"  width="85" height="120" /> <span>2010年</span> <a href="#" title="放入回收站" class="phtrash">删除</a> </li>
  </ul>
  <!--回收站-->
  <div id="trash" class="photoframecontent">
    <h4 class="photoframeheader">回收站</h4>
  </div>
</div>
</body>
</html>

执行效果图:

时间: 2024-08-06 14:51:47

JS之相册拖动管理的相关文章

js实现可拖动Div

js实现可拖动Div 随着时代的变化,越来越感觉到js的重要性,js不仅可以做web页面(如Ext框架),还可以做一些web的特效,这些特效不仅兼容PC,而且兼容手机端,毕竟是基于浏览器的,和平台没关系.现在微软的windows8 系统的App都可以用js开发了,大家有时间可以去尝试一下. 现在切入正题,说一下js 实现可拖动Div.实现这个功能我们先说一下思路: 1.捕捉鼠标div的mousedown事件 2.捕捉 document的   mousemove事件 3.取消事件 然后我们看一下代

log4js-Node.js中的日志管理模块使用与封装

开发过程中,日志记录是必不可少的事情,尤其是生产系统中经常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源码地址:点击打开链接 项目引用方法: npm install log4js 1.配置说明(仅以常用的dateFile日志类型举例,更多说明参考log4js-wiki): { "appenders": [ // 下面一行应该是用于跟express配合输出web请求url日志的 {"type": "

js实现图片拖动改变顺序

在web页面中,需要改变多个元素的位置,可以通过元素拖动来实现.HTML5中加入了一个全局属性draggable,通过设置true/false来控制元素是否可拖动. 下面以图片拖动为例,用jQuery来实现:页面上有多个图片,把一个图片拖动到其他两个图片中间,就可以将这个图片的位置插入到两图之间. <!DOCTYPE html> <html> <head> <style> .img-div img { width:200px; height:200px; f

基于vue.js的简单用户管理

功能描述:添加.修改.搜索过滤 效果图: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <title>简单用户管理</title> 5 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"

layer.js实现相册预览

<!doctype html> <html> <head> <title>QQ空间图片浏览代码</title> <script src="layer/jquery.js?v=1.83.min"></script> <script src="layer/layer.min.js"></script> <style> html{background-c

一款实用的viewer.js 图片相册

Viewer.js 是一款强大的图片相册插件,像SNS交友网站一般都会用到点击缩略图,弹出层大图片,而且弹出层有多个控制按钮,比如放大缩小.旋转.撤回等,底部有缩略图列表可切换. 支持移动设备触摸事件支持响应式支持放大/缩小支持旋转(类似微博的图片旋转)支持水平/垂直翻转支持图片移动支持键盘支持全屏幻灯片模式(可做屏保)支持缩略图支持标题显示支持多种自定义事件 在线实例 默认效果 jQuery版本 回调函数 自定义方法 使用方法 <ul id="sucaihuo">    

JS-slider.js实现鼠标拖动滑块控制取值特效

制作效果,如下图,鼠标点击颜色标能左右拖动并设置文本框中的值 源码: <div id="example"> <div id="slideContainer1"> <div id="slideHandle1"></div> </div> <div id="pos1"></div> <div id="slideContainer2&

基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转

基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠标点击屏幕时的坐标和鼠标移动时的坐标,来获得鼠标在X轴.Y轴移动的距离,将距离实时赋值给transform属性 从而通过改变transform:rotate属性值来达到3d立方体旋转的效果 HTML代码块: <body> <input type="button" clas

JS框架_(JQuery.js)图片相册掀开切换效果

图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&quo