天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jquery中的sortable排序之后的保存狀態(tài)的解決方法

當(dāng)時(shí)也就從jquery的官方網(wǎng)站上抄了幾句搞上去,后來(lái)發(fā)現(xiàn)用處不大,還挺慢。汗~~~以至于到今天早上也沒(méi)搞清楚怎么樣才能把排序后的結(jié)果保存起來(lái),正好現(xiàn)在公司要做一個(gè)這樣的功能,就又從新學(xué)習(xí)了下。
首先,在jquery的官方demo(http://jqueryui.com/demos/)上找到了相似的代碼。我所要的叫就是portlets(http://jqueryui.com/demos/sortable/portlets.html)這種效果。就像igoogle首頁(yè)那樣的。冒似很簡(jiǎn)單,把要引用的js都加入后,然后幾行代碼就完事了。

復(fù)制代碼 代碼如下:
<script type="text/Javascript">
$(function() {
$(".column").sortable({
connectWith: '.column'
});
});
</script>

html代碼省略...詳情請(qǐng)查看演示

寫(xiě)完這些之后,你就可以試著拖拽了。有沒(méi)有覺(jué)得很有成就感?不錯(cuò),小伙子,有前途。sortable 有許多的參數(shù),詳細(xì)的自己去官網(wǎng)上看吧!只說(shuō)下這里的connectWith:'.column'是什么意思,它就是說(shuō),凡是class為column的,它都可以把一個(gè)column的portlet拖到另一個(gè)column里去。試試你就知道了。當(dāng)然今天的重點(diǎn)并不是怎么樣去拖拽它,而是拖拽之后刷新還保存著當(dāng)時(shí)的順序。

遇到點(diǎn)小困難了,不過(guò)那也得上啊,不然以后都被女孩子肯嫁給你!^_^ 于是乎我就開(kāi)始google百度了。有人說(shuō)用sortable的serialize方法可以得到一個(gè)ID數(shù)組,可惜,我確實(shí)沒(méi)有得到。如果你做到了也請(qǐng)你tell me 一下;還有人說(shuō)用toArray方法也可以得到ID數(shù)組.這次也確實(shí)得到了。不過(guò)非常令人討厭的事發(fā)生了。

$('.column').sortable('toArray');

這樣也只能得到第一個(gè)class是column里的ID數(shù)組.用each()? I tried, but not work;可能你能做到,也請(qǐng)你告訴我吧!所以只能轉(zhuǎn)走其他方法了。或許你會(huì)說(shuō),這還不簡(jiǎn)單么,直接把整個(gè)網(wǎng)頁(yè)的布局存起來(lái)不就OK了?哈哈,I also think so!通過(guò)iedeveloper調(diào)試工具發(fā)現(xiàn),它們拖動(dòng)之后發(fā)現(xiàn)了改變,變的不是樣式,而是div的先后順序。如果我把整個(gè)內(nèi)容保存起來(lái)的話,似乎也行得通,不過(guò)量就有點(diǎn)大了,也不適于動(dòng)態(tài)的內(nèi)容。怎么辦呢,于是我就想著只存它們的ID順序不就O了嗎?于是我又給它們每人一個(gè)ID了。

萬(wàn)事開(kāi)頭難,有了這個(gè)思路了之后,你是否已經(jīng)廁所打開(kāi)了呢?我先去下便下,謝謝開(kāi)門(mén),馬上回來(lái)!

接下來(lái)就一步步按照這個(gè)思路來(lái)吧。首先是獲取到所有的column.

$.each($(".column"), function(m) {}

再找每個(gè)column下的portlet;

$.each($(".column"), function(m) {
$.each($(this).children(".portlet"), function(d) {
}

接著就是把它們按自己的方式存起來(lái)。
復(fù)制代碼 代碼如下:
function saveLayout(){
var list = "";
$.each($(".column"), function(m) {
list += $(this).attr('id') + ":";
$.each($(this).children(".portlet"), function(d) {
list += $(this).attr('id') + "@";
})
list += "|";
})
$.cookie("list", list)}

這里還用到了另一組件jquery.cookie

改下開(kāi)始的
復(fù)制代碼 代碼如下:
$(".column").sortable({
connectWith: '.column',
stop: saveLayout
});

stop是指拖拽結(jié)束后觸發(fā)的事件.

最后就是按順序讀到容器里去,這里我就不多說(shuō)了,只可意會(huì),不能言傳哈。貼代碼吧:
復(fù)制代碼 代碼如下:
var list = $.cookie("list"); //獲取cookie里的list值
//alert(list)
var arrColumn = list.split('|');
$.each(arrColumn, function(m, n) {
var elemId = n.split(':')[0]; //容器ID
var arrRow = n.split(':')[1] ? n.split(':')[1].split('@') : ""; //單個(gè)序列ID
$.each(arrRow, function(m, n) {
if (n) {//排除空值
$("#" + elemId).append($("#sb" + n).attr('id', n))//把序列填加進(jìn)容器
}
});
})

好了,今天就這樣吧,打字排版花了我一個(gè)小時(shí)了,公司給我的是一小時(shí)16塊RMB。所以BYE!
如果你有任何的問(wèn)題,都不要來(lái)問(wèn)我,我很忙。到QQ群5678537里找其他人探討吧!

演示代碼http://demo.jb51.NET/js/Sortable/Sortable.htm

JavaScript技術(shù)jquery中的sortable排序之后的保存狀態(tài)的解決方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 二级片免费看 | 超碰在线线公开免费视频 | 色老板美国在线观看 | 国产三区在线成人AV | 十二月综合缴缴情 | 芒果影院网站在线观看 | 好男人好资源在线播放 | 国产免费高清mv视频在线观看 | 黄色亚洲片 | 国产一级特黄a大片99 | 俄罗斯搜索引擎Yandex推广入口 | 添加一点爱与你电视剧免费观看 | 精品高潮呻吟99AV无码视频 | 免费精品国偷自产在线在线 | 日本伦子欲 | 超碰国产亚洲人人 | 9久久99久久久精品齐齐综合色圆 | 一本道中文无码亚洲 | 人成午夜免费视频 | 一本大道手机在线看 | 在线亚洲国产日韩欧洲专区 | 亚洲一卡二卡三卡四卡无卡麻豆 | 成人无码精品一区二区在线观看 | 野草观看免费高清视频 | 夜夜躁婷婷AV蜜桃视频 | 久青草国产在线观看视频 | 精品久久久久久电影网 | 特黄特色大片免费播放器试看 | 国产精品99久久久久久WWW | 亚洲成人免费在线观看 | 亚洲国产精品高清在线 | 啊灬啊别停灬用力啊老师 | 亚洲精品第一综合99久久 | 中文字幕亚洲无线码高清不卡 | 97视频免费在线观看 | 蜜桃人妻无码AV天堂三区 | 国产婷婷午夜精品无码A片 国产婷婷色综合AV蜜臀AV | 国产强奷糟蹋漂亮邻居在线观看 | 99国内精精品久久久久久婷婷 | 理论片午午伦夜理片久久 | 亚洲精品免播放器在线观看 |