成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術(shù)教程 ? jQuery實現(xiàn)拖拽頁面元素并將其保存到cookie的方法
全站頭部文字 我要出現(xiàn)在這里
jQuery實現(xiàn)拖拽頁面元素并將其保存到cookie的方法 619 2024-02-28   

本文實例講述了jQuery實現(xiàn)拖拽頁面元素并將其保存到cookie的方法。分享給大家供大家參考,具體如下:

實現(xiàn)的效果就是頁面內(nèi)的圖片可拖拽到任意位置,并將所在位置保存.下次打開頁面依然可見.本文是作demo用,實際開發(fā)中,位置的數(shù)據(jù)應保存到數(shù)據(jù)庫中

好了,開始

1.準備工作

a.jquery(1.7.2),ui,cookie插件,json插件.一些圖片(本文是5張)

2.頁面

上代碼

<div class="img_list" id="img_list">
<div id="baidu"><img src="http://www.gimoo.net/t/1902/img/baidu.jpg" id="www.baidu.com"></div>
<div id="google"><img src="http://www.gimoo.net/t/1902/img/google.png" id="www.google.com"></div>
<div id="csdn"><img src="http://www.gimoo.net/t/1902/img/csdn.jpg" id="www.csdn.net"></div>
<div id="fly"><img src="http://www.gimoo.net/t/1902/img/fly.jpg" id="www.jfbcb.com"></div>
<div id="163"><img src="http://www.gimoo.net/t/1902/img/163.jpg" id="www.163.com"></div>
</div>

接下,先為每個img的父元素增加draggable,并且動態(tài)改變id,這樣便于記錄時減少工作量.當然,先得給它來2個事件,mouseenter,mouseleave.代碼如下

$("#img_list div").on({
mouseenter: function(){
      $(this).addClass('img_move');
      _t_id =$(this).attr('id');//保存原來id
      $('div.img_move').attr('id','img_move');
},
mouseleave: function(){
       $('#img_move').removeClass('img_move').attr('id',_t_id);
      _t_id = '';//清空,臨時保存id
    }
});

到目前為止,我們已實現(xiàn)動態(tài)加載id,下面重點來了,讓div可拖拽

只要在mouseenter事件中加上這句就行,這樣當鼠標進入某塊div時,div就變成可拖拽的了

$( "#img_move").draggable();

3.拖拽后的保存

如果,你刷新頁面會發(fā)現(xiàn),剛拖拽的圖片,會恢復到初始位置.這個肯定不行,于是,保存就成了必須.實際開發(fā)一定要保存到數(shù)據(jù)庫,因為,客戶要是清空了cookie效果全部沒有了...坑爹的360常干這事

這里除了cookie還要用到json插件,這樣保存的時候會方便并且把拖拽后元素的信息儲備到同一個對象中,便于讀取

上代碼

$( "#img_move").draggable({
   start:function(e,ui){
   ui.helper.css('z-index','999'); //拖動時元素一直是不被遮蔽
   },
   stop:function(e,ui){
    ui.helper.css('z-index','0'); //拖動結(jié)束,讓元素可遮蔽
    var x = ui.position.left ;
    var y = ui.position.top;
    var id = _t_id;
    var temp = {'id':id,'x':x,'y':y};
    var _data = $.toJSON(temp);//轉(zhuǎn)成json
    $.cookie('img_list_'+_t_id,_data,{expires:1}); //保存信息,設置有效時間
    }
});

ps:元素在頁面中的位置,簡單的說是left,top的值決定的

4.刷新后載入

window.onload后把cookie保存的信息讀出來,并賦到對應元素上

window.onload = function(){
  fix_img('baidu');
    fix_img('google');
    fix_img('csdn');
    fix_img('fly');
    fix_img('163');
  };
//fix_img
function fix_img(id){
 if(id){
   var _test_data = $.cookie('img_list_'+id);
   var _id = $.evalJSON(_test_data).id;
   var _x = $.evalJSON(_test_data).x;
   var _y = $.evalJSON(_test_data).y;    
     $('#'+_id).css('left',_x+'px').css('top',_y+'px');
  }
}

5.總結(jié):

①.思路是先拖后保存.實現(xiàn)方式各有不同

②.實際開發(fā)一定要保存到數(shù)據(jù)庫

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常用插件及用法總結(jié)》、《jquery中Ajax用法總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》

希望本文所述對大家jQuery程序設計有所幫助。



主站蜘蛛池模板: 沉默的较量| 心太狂| 周超个人资料简介| 红电视剧演员表| 一级特黄新婚之夜| 王安宇演的电视剧大全| 宇宙魔方| 云南的旅游攻略| 康熙王朝是哪一年拍的| 囚徒 电影| 性的张力短片集| 孤独感拉满的头像| 叶子楣作品| 人民的名义电视剧免费版| 村上信五| 头像女可爱卡通| 尹雪喜最好看的三部电影| 狗年电影| 免费看污视频在线观看| https://www.douyin.com| 李采潭全部作品百度| 尺子1:1原图| 纵横欲海| 飞头魔女| 荒笛子简谱| 沈晓海个人资料| 新娘大作战angelababy| 电影终结者| 美女游泳| 红灯区观看| 1998年槟榔西施| 丰满少妇a级片| gayvideos| 港股开户测试答案2024年| 国产精品久久久久精品三级ⅰ| jerry springer| 暗夜尖叫1988美国版高清观看| 黄视频免费看网站| 惊魂| 张宗麟| 心经般若波罗蜜多心经全文 |

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103