jQuery UI Droppable - Simple photo manager : UI Droppable « jQuery « JavaScript DHTML

JavaScript DHTML
1. Ajax Layer
2. Data Type
3. Date Time
4. Development
5. Document
6. Dojo toolkit
7. Event
8. Event onMethod
9. Ext JS
10. Form Control
11. GUI Components
12. HTML
13. Javascript Collections
14. Javascript Objects
15. Javascript Properties
16. jQuery
17. Language Basics
18. Mochkit
19. Mootools
20. Node Operation
21. Object Oriented
22. Page Components
23. Rico
24. Scriptaculous
25. Security
26. SmartClient
27. Style Layout
28. Table
29. Utilities
30. Window Browser
31. YUI Library
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
JavaScript DHTML » jQuery » UI Droppable 
jQuery UI Droppable - Simple photo manager
  
<!--
  jQuery UI Effects Blind 1.7.2
 
  Copyright (c2009 AUTHORS.txt (http://jqueryui.com/about)
  Dual licensed under the MIT (MIT-LICENSE.txt)
  and GPL (GPL-LICENSE.txtlicenses.
 
 
-->
<!doctype html>
<html lang="en">
  <head>
    <title>jQuery UI Droppable - Simple photo manager</title>
    <link type="text/css" href="js/themes/base/ui.all.css" rel="stylesheet" />
    <script type="text/javascript" src="js/jquery-1.3.2.js"></script>
    <script type="text/javascript" src="js/ui/ui.core.js"></script>
    <script type="text/javascript" src="js/ui/ui.draggable.js"></script>
    <script type="text/javascript" src="js/ui/ui.droppable.js"></script>
    <script type="text/javascript" src="js/ui/ui.resizable.js"></script>
    <script type="text/javascript" src="js/ui/ui.dialog.js"></script>
    <link type="text/css" href="js/demos.css" rel="stylesheet" />
    <style type="text/css">
      #gallery float: left; width: 65%; min-height: 12em; html #gallery height: 12em; /* IE6 */
      .gallery.custom-state-active background: #eee; }
      .gallery li float: left; width: 96px; padding: 0.4em; margin: 0 0.4em 0.4em 0; text-align: center; }
      .gallery li h5 margin: 0 0 0.4em; cursor: move; }
      .gallery li a float: right; }
      .gallery li a.ui-icon-zoomin float: left; }
      .gallery li img width: 100%; cursor: move; }

      #trash float: right; width: 32%; min-height: 18em; padding: 1%;html #trash height: 18em; /* IE6 */
      #trash h4 line-height: 16px; margin: 0 0 0.4em; }
      #trash h4 .ui-icon float: left; }
      #trash .gallery h5 display: none; }
    </style>
    <script type="text/javascript">
      $(function() {
        // there's the gallery and the trash
        var $gallery = $('#gallery'), $trash = $('#trash');

        // let the gallery items be draggable
        $('li',$gallery).draggable({
          cancel: 'a.ui-icon',// clicking an icon won't initiate dragging
          revert: 'invalid', // when not dropped, the item will revert back to its initial position
          containment: $('#demo-frame').length ? '#demo-frame' : 'document', // stick to demo-frame if present
          helper: 'clone',
          cursor: 'move'
        });

        // let the trash be droppable, accepting the gallery items
        $trash.droppable({
          accept: '#gallery > li',
          activeClass: 'ui-state-highlight',
          drop: function(ev, ui) {
            deleteImage(ui.draggable);
          }
        });

        // let the gallery be droppable as well, accepting items from the trash
        $gallery.droppable({
          accept: '#trash li',
          activeClass: 'custom-state-active',
          drop: function(ev, ui) {
            recycleImage(ui.draggable);
          }
        });

        // image deletion function
        var recycle_icon = '<a href="link/to/recycle/script/when/we/have/js/off" title="Recycle this image" class="ui-icon ui-icon-refresh">Recycle image</a>';
        function deleteImage($item) {
          $item.fadeOut(function() {
            var $list = $('ul',$trash).length ? $('ul',$trash: $('<uclass="gallery ui-helper-reset"/>').appendTo($trash);

            $item.find('a.ui-icon-trash').remove();
            $item.append(recycle_icon).appendTo($list).fadeIn(function() {
              $item.animate({ width: '48px' }).find('img').animate({ height: '36px' });
            });
          });
        }

        // image recycle function
        var trash_icon = '<a href="link/to/trash/script/when/we/have/js/off" title="Delete this image" class="ui-icon ui-icon-trash">Delete image</a>';
        function recycleImage($item) {
          $item.fadeOut(function() {
            $item.find('a.ui-icon-refresh').remove();
            $item.css('width','96px').append(trash_icon).find('img').css('height','72px').end().appendTo($gallery).fadeIn();
          });
        }

        // image preview function, demonstrating the ui.dialog used as a modal window
        function viewLargerImage($link) {
          var src = $link.attr('href');
          var title = $link.siblings('img').attr('alt');
          var $modal = $('img[src$="'+src+'"]');

          if ($modal.length) {
            $modal.dialog('open')
          else {
            var img = $('<img alt="'+title+'" width="384" height="288" style="display:none;padding: 8px;" />')
              .attr('src',src).appendTo('body');
            setTimeout(function() {
              img.dialog({
                  title: title,
                  width: 400,
                  modal: true
                });
            }1);
          }
        }

        // resolve the icons behavior with event delegation
        $('ul.gallery > li').click(function(ev) {
          var $item = $(this);
          var $target = $(ev.target);

          if ($target.is('a.ui-icon-trash')) {
            deleteImage($item);
          else if ($target.is('a.ui-icon-zoomin')) {
            viewLargerImage($target);
          else if ($target.is('a.ui-icon-refresh')) {
            recycleImage($item);
          }

          return false;
        });
      });
    </script>
  </head>
  <body>
    <div class="demo ui-widget ui-helper-clearfix">

      <ul id="gallery" class="gallery ui-helper-reset ui-helper-clearfix">
        <li class="ui-widget-content ui-corner-tr">
          <h5 class="ui-widget-header">High Tatras</h5>
          <img src="images/high_tatras_min.jpg" alt="The peaks of High Tatras" width="96" height="72" />
          <a href="images/high_tatras.jpg" title="View larger image" class="ui-icon ui-icon-zoomin">View larger</a>
          <a href="link/to/trash/script/when/we/have/js/off" title="Delete this image" class="ui-icon ui-icon-trash">Delete image</a>
        </li>
        <li class="ui-widget-content ui-corner-tr">
          <h5 class="ui-widget-header">High Tatras 2</h5>
          <img src="images/high_tatras2_min.jpg" alt="The chalet at the Green mountain lake" width="96" height="72" />
          <a href="images/high_tatras2.jpg" title="View larger image" class="ui-icon ui-icon-zoomin">View larger</a>
          <a href="link/to/trash/script/when/we/have/js/off" title="Delete this image" class="ui-icon ui-icon-trash">Delete image</a>
        </li>
        <li class="ui-widget-content ui-corner-tr">
          <h5 class="ui-widget-header">High Tatras 3</h5>
          <img src="images/high_tatras3_min.jpg" alt="Planning the ascent" width="96" height="72" />
          <a href="images/high_tatras3.jpg" title="View larger image" class="ui-icon ui-icon-zoomin">View larger</a>
          <a href="link/to/trash/script/when/we/have/js/off" title="Delete this image" class="ui-icon ui-icon-trash">Delete image</a>
        </li>
        <li class="ui-widget-content ui-corner-tr">
          <h5 class="ui-widget-header">High Tatras 4</h5>
          <img src="images/high_tatras4_min.jpg" alt="On top of Kozi kopka" width="96" height="72" />
          <a href="images/high_tatras4.jpg" title="View larger image" class="ui-icon ui-icon-zoomin">View larger</a>
          <a href="link/to/trash/script/when/we/have/js/off" title="Delete this image" class="ui-icon ui-icon-trash">Delete image</a>
        </li>
      </ul>

      <div id="trash" class="ui-widget-content ui-state-default">
        <h4 class="ui-widget-header"><span class="ui-icon ui-icon-trash">Trash</span> Trash</h4>
      </div>

    </div><!-- End demo -->

    <div class="demo-description">

      <p>You can delete an image either by dragging it to the Trash or by clicking the trash icon.</p>
      <p>You can "recycle" an image by dragging it back to the gallery or by clicking the recycle icon.</p>
      <p>You can view larger image by clicking the zoom icon. jQuery UI dialog widget is used for the modal window.</p>

    </div><!-- End demo-description -->
  </body>
</html>

   
    
  
Related examples in the same category
1. jQuery UI Droppable - Accept Demo
2. jQuery UI Droppable - Prevent propagation
3. jQuery UI Droppable - Revert draggable position
4. jQuery UI Droppable - Visual feedback
5. Droppable object
6. Get relative and absolute position of the dropped object
7. Mark accepted object
8. Mark active class
9. Droppable accepted function
10. Drag and drop events: activate, deactivate, drop, out, over
11. Drop to different objects and get their id
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.