jQueryUI寫一個調整分類的拖放效果實現(xiàn)代碼
更新時間:2012年05月10日 01:09:38 作者:
最近,想用jQuery做一個網(wǎng)頁的樹目錄結構,并且可以使用鼠標拖動調整選項的位置。我在網(wǎng)上找了一下插件,基本上看了好幾款比較著名的,都覺得代碼太復雜了或者界面太丑了等各種不符合我的要求
所以還是自己動手豐衣足食,還是堅持簡單就是美的代碼風格。
<!DOCTYPE html>
<html>
<head>
<title>Drag & Drop Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript"
src="https://readself.com/static/js/jquery.min.js?v=52337"></script>
<script type="text/javascript"
src="https://readself.com/static/js/jquery-ui.min.js?v=ab482"></script>
<link rel="stylesheet" type="text/css"
/>
<style type="text/css">
li {cursor: pointer}
.menu_hover {background-color: #d0d0d0;}
#menu p{margin: 5px 0 5px 0;}
</style>
<body>
<ul id="menu">
<li class="folder">
<p>Fruits</p>
<ul>
<li>Apple</li>
<li>Pear</li>
<li>Banana</li>
</ul>
</li>
<li class="folder"><p>Vegetables</p>
<ul>
<li>Tomato</li>
<li>Potato</li>
<li>Cucumber</li>
</ul>
</li>
<li class="folder"><p>Meet</p>
<ul>
<li>Beaf</li>
<li>Pork</li>
<li>Chicken</li>
</ul>
</li>
</ul>
<script>
$('#menu li').disableSelection();
$('li', $('#menu ul')).draggable({revert: 'invalid', helper: 'clone'});
$('#menu .folder').droppable({
hoverClass: "menu_hover",
drop: function(event, ui){
if(ui.draggable.parents('.folder').get(0) == $(this).get(0))
return ;
$('ul', this).append(ui.draggable.clone());
ui.draggable.remove();
$('li', this).draggable({remove: 'invalid', helper: 'clone'});
}
});
$('#menu .folder p').click(function(){
$(this).next().toggle();
});
</script>

試試在iframe里嵌入一個測試頁面,你可以使用鼠標拖動項目,調整分類:
當然,這并不是我要的最終效果,只能說它已經實現(xiàn)了一個我想要的拖放效果。我要求的在這個基礎上,還要增加自動排序,位置變更后恢復之前元素bind的jQuery事件等。
代碼
代碼如下,如要復制,請先查看純文本版本!
復制代碼 代碼如下:
<!DOCTYPE html>
<html>
<head>
<title>Drag & Drop Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript"
src="https://readself.com/static/js/jquery.min.js?v=52337"></script>
<script type="text/javascript"
src="https://readself.com/static/js/jquery-ui.min.js?v=ab482"></script>
<link rel="stylesheet" type="text/css"
/>
<style type="text/css">
li {cursor: pointer}
.menu_hover {background-color: #d0d0d0;}
#menu p{margin: 5px 0 5px 0;}
</style>
<body>
<ul id="menu">
<li class="folder">
<p>Fruits</p>
<ul>
<li>Apple</li>
<li>Pear</li>
<li>Banana</li>
</ul>
</li>
<li class="folder"><p>Vegetables</p>
<ul>
<li>Tomato</li>
<li>Potato</li>
<li>Cucumber</li>
</ul>
</li>
<li class="folder"><p>Meet</p>
<ul>
<li>Beaf</li>
<li>Pork</li>
<li>Chicken</li>
</ul>
</li>
</ul>
<script>
$('#menu li').disableSelection();
$('li', $('#menu ul')).draggable({revert: 'invalid', helper: 'clone'});
$('#menu .folder').droppable({
hoverClass: "menu_hover",
drop: function(event, ui){
if(ui.draggable.parents('.folder').get(0) == $(this).get(0))
return ;
$('ul', this).append(ui.draggable.clone());
ui.draggable.remove();
$('li', this).draggable({remove: 'invalid', helper: 'clone'});
}
});
$('#menu .folder p').click(function(){
$(this).next().toggle();
});
</script>
您可能感興趣的文章:
- jQuery實現(xiàn)文本框郵箱輸入自動補全效果
- jQuery實現(xiàn)Email郵箱地址自動補全功能代碼
- jquery 實現(xiàn)輸入郵箱時自動補全下拉提示功能
- 使用jquery實現(xiàn)仿百度自動補全特效
- 基于jquery實現(xiàn)的自動補全功能
- jquery實現(xiàn)郵箱自動補全功能示例分享
- PHP+jQuery實現(xiàn)自動補全功能源碼
- jQuery 插件autocomplete自動完成應用(自動補全)(asp.net后臺)
- jquery實現(xiàn)仿JqueryUi可拖動的DIV實例
- jqueryUI里拖拽排序示例分析
- jQueryUI如何自定義組件實現(xiàn)代碼
- jQueryUI的Dialog的簡單封裝
- 詳解jQuery UI庫中文本輸入自動補全功能的用法
相關文章
原生javascript實現(xiàn)的分頁插件pagenav
這幾天要做一個前臺頁面,涉及到分頁,不想自己去寫所以在網(wǎng)上找jquery看有沒有好用一點的分頁組件,結果發(fā)現(xiàn)有很多,但是都很麻煩,看到了這個叫pagenav的發(fā)現(xiàn)相對來說還是很容易上手的,于是就直接用了,在我看來,能解決問題的辦法就是好辦法.越簡單越好.2014-08-08
jQuery插件FusionWidgets實現(xiàn)的AngularGauge圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件FusionWidgets實現(xiàn)的AngularGauge圖效果,結合具體實例形式分析了jQuery使用FusionWidgets插件載入xml數(shù)據(jù)實現(xiàn)AngularGauge圖的相關操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
jQuery+css+html實現(xiàn)頁面遮罩彈出框
面遮罩彈出框已經不是一個陌生的話題了,實現(xiàn)的方法大同小異多種多樣,今天用jQuery實現(xiàn)頁面遮罩彈出框,主要用的技術有JQuery,css和html,感興趣的朋友可以參考下哈2013-03-03
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR錯誤
今天測試偶然發(fā)現(xiàn)jquery.bgiframe.js在IE9環(huán)境下提示錯誤,于是很是好奇,想辦法知道究竟,于是搜索了一下,現(xiàn)在與大家分享希望可以幫助你們2013-01-01

