JQuery实现div拖动效果,异步请求

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
<meta charset="utf-8">
	<script src="Js/jquery-1.10.2.js"></script>
    <script src="Js/jquery-ui.js"></script>
    <link href="Js/themes/base/jquery-ui.css" rel="stylesheet" />

	<style>
	#gallery { float: left; width: 65%; min-height: 12em; }
	.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%; }
	#trash h4 { line-height: 16px; margin: 0 0 0.4em; }
	#trash h4 .ui-icon { float: left; }
	#trash .gallery h5 { display: none; }
	</style>
	<script>

	    $(function () {
	        $.ajax({
	            url: 'Handler1.ashx',// 跳转到 action    
	            type: 'post',
	            success: function (data) {
	                //alert(data);
	                $("#gallery").prepend(data);
	                fun1();
	                fun2();
	            }
	        });

	    
	        // there's the gallery and the trash
	        var $gallery = $("#gallery"),
                $trash = $("#trash");

	        function fun1() {
	            // 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: "document",
	                helper: "clone",
	                cursor: "move"
	            });

	            // let the trash be droppable, accepting the gallery items
	            $trash.droppable({
	                accept: "#gallery > li",
	                activeClass: "ui-state-highlight",
	                drop: function (event, 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 (event, 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) :
                        $("<ul class='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()
                        .end()
                        .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"),
                    title = $link.siblings("img").attr("alt"),
                    $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);
	            }
	        }
	        function fun2() {
	            // resolve the icons behavior with event delegation
	            $("ul.gallery > li").click(function (event) {
	                var $item = $(this),
                        $target = $(event.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="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 1 </h5>
		<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>
		<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>
		<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>
		<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>

</body>
</html>

 

添加一个一般处理程序

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    /// <summary>
    /// Handler1 的摘要说明
    /// </summary>
    public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string[] s = { "1","2","3","4"};
            string str = "";
            for (int i = 0; i < s.Length; i++)
            {
              
               // str += string.Format (" <li class=\"ui-widget-content ui-corner-tr ui-draggable\"> <h5 class=\"ui-widget-header\"></h5>  <a class=\"ui-icon ui-icon-zoomin\" title=\"View larger image\" href=\"images/high_tatras.jpg\"></a>  <a class=\"ui-icon ui-icon-trash\" title=\"Delete this image\" href=\"link/to/trash/script/when/we/have/js/off\"></a></li>");
                str += string.Format("<li class=\"ui-widget-content ui-corner-tr ui-draggable\" style=\"display: list-item; width: 96px;\"> <h5 class=\"ui-widget-header\"></h5> <a class=\"ui-icon ui-icon-trash\" title=\"Delete this image\" href=\"link/to/trash/script/when/we/have/js/off\"></a></li>");

            }
            context.Response.Write(str);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

 

posted on 2015-05-11 21:43  !无名之辈  阅读(162)  评论(0)    收藏  举报