Advertisement
asimryu

jquery ui shopping cart

Jul 23rd, 2014
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 2.84 KB | None | 0 0
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>drag & drop</title>
  6.     <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
  7. <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
  8. <style>
  9. .content div {width:500px;height:500px;display:inline-block;border:2px solid #666;}
  10. #goods {background:#0f0;}
  11. #goods div{width:100px;height:100px;float:left;margin:10px;background:#fff;}
  12. #cart {background:#ff0;display:inline-block;position:relative;}
  13. #trash {width:150px;height:150px;background:black;position:absolute;top:10px;left:10px;}
  14. #soldgoodslist {clear:both;margin-top:10px;border:2px solid #f00;background:#00f;color:#fff;width:1010px;height:50px;}
  15. </style>
  16. </head>
  17. <body>
  18.     <div class="content">
  19.         <div id="goods">
  20.             <div data-incart="false" id="p1" data-x="" data-y="">상품1</div>
  21.             <div data-incart="false" id="p2" data-x="" data-y="">상품2</div>
  22.             <div data-incart="false" id="p3" data-x="" data-y="">상품3</div>
  23.             <div data-incart="false" id="p4" data-x="" data-y="">상품4</div>
  24.             <div data-incart="false" id="p5" data-x="" data-y="">상품5</div>
  25.             <div data-incart="false" id="p6" data-x="" data-y="">상품6</div>
  26.             <div data-incart="false" id="p7" data-x="" data-y="">상품7</div>
  27.             <div data-incart="false" id="p8" data-x="" data-y="">상품8</div>
  28.         </div>
  29.         <div id="cart"><div id="trash"></div></div>
  30.     </div>
  31.     <div id="soldgoodslist"></div>
  32.     <script>
  33.     $(function(){
  34.        
  35.         $("#goods > div").draggable({
  36.             start:function(){
  37.                 $(this).draggable( "option", "revert", true );
  38.                 $(this).parent().children("div").css("zIndex",10);
  39.                 $(this).css("zIndex",100);
  40.                 if( $(this).attr("data-incart") != "true" ){
  41.                     var offset = $( this ).offset();
  42.                     var x = offset.left;
  43.                     var y = offset.top;
  44.                     $(this).attr("data-x", x);
  45.                     $(this).attr("data-y", y);
  46.                 }
  47.             }
  48.         });
  49.        
  50.         $("#cart").droppable({
  51.             drop: function(event,ui){
  52.                 ui.draggable.draggable("option","revert", false );
  53.                 ui.draggable.draggable("option","containment", "#cart" );
  54.                 ui.draggable.attr("data-incart","true");
  55.                 checkSold();
  56.             }
  57.         });
  58.  
  59.         $("#trash").droppable({
  60.             drop: function(event,ui){
  61.                 var old_x = ui.draggable.attr("data-x");
  62.                 var old_y = ui.draggable.attr("data-y");
  63.                 ui.draggable.offset({ top: old_y, left: old_x });
  64.                 ui.draggable.attr("data-incart","false");
  65.                 checkSold();
  66.             }
  67.         });
  68.  
  69.         var soldcount = 0;
  70.         function checkSold(){
  71.             var soldlist = "";
  72.             var goodslist = $("#goods > div");
  73.             for (var i=0; i < goodslist.length; i++ ) {
  74.                 var incart = $(goodslist[i]).attr("data-incart");
  75.                 if(incart=="true") {
  76.                     if(soldlist != "") soldlist += "/";
  77.                     soldlist += $(goodslist[i]).attr("id");
  78.                     soldcount++;
  79.                 }
  80.             }
  81.             $("#soldgoodslist").html(soldlist);
  82.         }
  83.  
  84.     });
  85.  
  86.     </script>
  87. </body>
  88. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement