zoukankan      html  css  js  c++  java
  • 分享一个首页模块拖拽的清单

        由于项目需要,客户要求首页模块可以自由定义,考虑自己实现的效率,所以选择了用插件来实现,支持拖拽,效果如下:

    JS引入

      

    <script language="javascript" src="jquery-1.2.4a.js"></script>
    <script language="javascript" src="ui.base.min.js"></script>
    <script language="javascript" src="ui.droppable.min.js"></script>
    <script language="javascript" src="ui.draggable.min.js"></script>
    <script language="javascript" src="ui.sortable.min.js"></script>
    <script language="javascript" src="17.js"></script>
    

    HTML部分:

    <div id="container">
        	<div id="header" class="ui-sortable">
            	<h2>头版头条</h2>
    			<dl class="sort">
    				<dt>新闻首页</dt>
    				<dd>hellohellohellohellohellohellohellohellohellohello</dd>
    				<dd>hellohellohellohellohellohellohellohellohellohello</dd>
    			</dl>
    		</div>
    			
    		<div id="content" class="ui-sortable">
    			<h2>详细内容</h2>
    			<dl class="sort">
    				<dt>hellohellohellohellohellohellohellohellohellohello</dt>
    				<dd>hellohellohellohellohellohellohellohellohellohello</dd>
    				<dd>hellohellohellohellohellohellohellohellohellohello</dd>
    			</dl>
    		</div>
    			
    		<div id="sidebar" class="ui-sortable">
    			<h2>滚动新闻</h2>
    			<dl class="sort">
    				<dt>hellohel </dt>
    				<dt>hellohel </dt>
    				<dt>hellohel </dt>
    			</dl>
    			<dl class="sort">
    				<dt>hellohellohelloh</dt>
    				<dd>isaac</dd>
                       <dd>fresheggs</dd>
    			</dl>
    			<dl class="sort">
    				<dt>hellohellohellohellohellohel </dt>
    				<dt>hellohellohellohellohellohel </dt>
    				<dt>hellohellohellohellohellohel </dt>
    			</dl>
    		</div>
    		
    		<div class="clear"></div>
    	
    		<div id="footer" class="ui-sortable">
    			<h2>页脚项</h2>
    			<dl class="sort">
    				<dt>版权信息</dt>
    				<dd>Copyright: Zeng Shun, EE, Tsinghua University</dd>
    			</dl>
    		</div>
    	</div>
    		
    	<div id="trashcan" class="ui-sortable">
    		<h2>回收站</h2>
    	</div>
    

    JS部分:                          

    $(function(){
    	var moveUp = function(){
    		//向上移动子项目
    		var link = $(this),
    			dl = link.parents("dl"),
    			prev = dl.prev("dl");	
    		if(link.is(".up") && prev.length > 0)
    			dl.insertBefore(prev);
    	};
    	
    	var addItem = function(){
    		//添加一个子项目
    		var sortable = $(this).parents(".ui-sortable");
    		var options = '<span class="options"><a class="up"><img src="up.gif" border="0"></a></span>';
    		var html = '<dl class="sort"><dt>Dynamic name'+options+'</dt><dd>Description</dd></dl>';
    		sortable.append(html).sortable("refresh").find("a.up").bind("click", moveUp);
    	};
    	
    	var emptyTrashCan = function(item){
    		//回收站
    		item.remove();
    	};
    	
    	var sortableChange = function(e, ui){
    		//拖拽子项目
    		if(ui.sender){
    			var w = ui.element.width();
    			ui.placeholder.width(w);
    			ui.helper.css("width",ui.element.children().width());
    		}
    	};
    	
    	var sortableUpdate = function(e, ui){
    		//更新模块(用户回收站清空后)
    		if(ui.element[0].id == "trashcan"){
    			emptyTrashCan(ui.item);
    		}
    	};
    	
    	$(function(){
    		//引用主页面中的所有块
    		var els = ['#header', '#content', '#sidebar', '#footer', '#trashcan'];
    		var $els = $(els.toString());
    		
    		//动态添加“增加子项目”、“向上移动”按钮
    		$("h2", $els.slice(0,-1)).append('<span class="options"><a class="add"><img src="add.gif" border="0"></a></span>');
    		$("dt", $els).append('<span class="options"><a class="up"><img src="up.gif" border="0"></a></span>');
    		
    		//绑定相关事件
    		$("a.add").bind("click", addItem);
    		$("a.up").bind("click", moveUp);
    		
    		//使用jQuery插件
    		$els.sortable({
    			items: '> dl',	//拖拽对象
    			handle: 'dt',	//可触发该事件的对象
    			cursor: 'move',	//鼠标样式
    			opacity: 0.8,	//拖拽时透明
    			appendTo: 'body',
    			connectWith: els,
    			start: function(e,ui) {
    				ui.helper.css("width", ui.item.width());
    			},
    			change: sortableChange,
    			update: sortableUpdate		//用于回收站
    		});
    	});
    });
    

    链接下载

  • 相关阅读:
    华为交换机S5700设置远程ssh telnet登录
    华为交换机S5700 vty 0 4
    OpenStack--Cinder(G版)中的volume type
    nova volume-create的使用
    druid监控配置
    2PC之JTA原理与实现
    线上服务内存OOM问题定位
    分布式系统事务一致性解决方案
    Spring MVC异常统一处理的三种方式
    Git回滚到历史节点(SourceTree篇)
  • 原文地址:https://www.cnblogs.com/jackyfei/p/DrogList.html
Copyright © 2011-2022 走看看