Share code tin nhắn cho máy tính

41 bài đăng
03.03.2016 / 15:36
thaian2009
Bài đăng: 709
Member

+ Tự hiện khi có thông báo.

+ Kéo lên để xem tin cũ.

- Bước 1: Thiết kế -> Cài đặt Bố trí -> Tin nhắn riêng -> Bố cục tin nhắn riêng

TWIG
  1. {%if api.r.get('view')=='on'%}{%set yes_sms=conversation_status|replace({"[+]":'1',"[-]":'0'})|raw%}{%if yes_sms==1%}<span class="view_sms">{%set mang={'uid':nick_uid,'nick':nick}%}{{mang|json_encode()}}</span>{%endif%}{%else%}<div class="pm_nick">{{conversation_status}}<a href="{{conversation_url}}" class="{{nick_class}}">{{nick}}</a> ({{last_message_date}})</div>{%endif%}

- Bước 2: Thiết kế -> Cài đặt Bố trí -> Tin nhắn riêng -> Danh sách tin nhắn

TWIG
  1. {%macro dtext(s)%}{%set na=s|slice(0,2)%}{{('<img src="/files/1049801/'~na~s|slice(2)~'.gif" alt=".'~na~'."/>')|raw}}{%endmacro%}{%macro icon(smsg)%}{%import _self as thaian%}{%set msg=smsg|split('.')%}{%set xmsg=''%}{%for i in 0..msg|length-1%}{%if msg[i] matches '/^([a-z][a-z]([0-9]|[0-9][0-9]|[0-9][0-9][0-9]))$/'%}{%set xmsg=xmsg~'[-xoasmile-]'~thaian.dtext(msg[i])|raw%}{%else%}{%set xmsg=xmsg~msg[i]~"."%}{%endif%}{%endfor%}{%set xmsg=xmsg|slice(0,xmsg|length-1)%}{%set lmsg=xmsg|replace({".[-xoasmile-]":''})|raw%}{%set kitu='✌,☀,☁,☔'%}{%set skt=kitu|split(",")%}{%for j in 0..skt|length-1%}{%set lmsg=lmsg|replace({(skt[j]):('<img src="/files/1049801/'~skt[j]~'.png" alt="'~skt[j]~'"/>')})|raw%}{%endfor%}{{lmsg|raw}}{%endmacro%}{%import _self as thaian%}{%if api.user_id==nick_uid%}<div class="dsms1"><div class="dsms2" style="left:0"><a style="float: left;" class="dsms3"><img src="{{api.u.get(nick_uid).profilephotourl(3,true)}}" class="dsms4"></a></div><div><div class="dsms5" style="right: 0;"><div class="dsms6" style="margin-left: 8px;"><div class="dsms7" style="clear: left; float: left;"><div class="dsms8" style="border-radius: 0px 12px 0px 12px;"><div><div class="dsms9"><span><span>{{thaian.icon(message)|replace({"[ses]":''})|raw}}</span></span></div></div></div></div></div></div></div></div>{%else%}<div class="dsms1"><div style="right: 0;" class="dsms2"><a style="float: right;" class="dsms3"><img src="{{api.u.get(nick_uid).profilephotourl(3,true)}}" class="dsms4"></a></div><div><div class="dsms5" style="right: 23px;"><div class="dsms6" style="margin-right: 8px;"><div style="clear: right;float: right;" class="dsms7"><div style="border-radius: 12px 0px 12px 0px;" class="dsms8"><div><div class="dsms9"><span><span>{{thaian.icon(message)|replace({"[ses]":''})|raw}}</span></span></div></div></div></div></div></div></div></div>{%endif%}[-msS-]

- Bước 3: Thiết kế -> Cài đặt Bố trí -> Tin nhắn riêng -> Bố cục đoạn hội thoại

TWIG
  1. <div id="msg_content"><div class="left" id="content_msg" style="padding:2px" next='/pm.php?id=read&last_id={{paging_next|split('last_id=')[1]|split('&amp;p=')[0]}}&p={{api.r.get('p')}}'><div style="clear:none"></div>{%set msg=message_list|split('[-msS-]')%}{%for i in (msg|length-1)..0%}{{msg[i]|raw}}{%endfor%}</div></div>{{reply_form}}

- Bước 4: Style

HTML5
  1. <style type="text/css">
  2. .xhinhanh{max-width:250px;max-height: 300px;border-radius: 3px; border: 1px solid #efefef; box-shadow: 1px 1px 5px #efefef;}
  3. .xkhung{box-shadow: 1px 1px 5px #7c7c7c;position: relative;padding: 5px 5px 0px 10px; border-bottom: 1px solid #eee;line-height: 27px;}
  4. .instt{-webkit-transition: all 0.5s; resize: none;height: 50px;border: 1px solid #efefef!important;}
  5. .instta { height: 100px; outline: 0px; border: 1px solid gray; -webkit-transition: all 0.5s; background-image: url('/files/169089/buombay.gif'); }
  6. .xbogoc{border-radius:50%;padding:1px;border:1px solid gray; vertical-align: top;float:left}
  7. .ztopic{line-height: 20px; padding: 0px 5px 0px 0px;}
  8. .zlogin{ padding: 5px 10px 0px;border-bottom: 1px solid #c3c3c3;border-radius:0px 0px 5px 5px}
  9. .tkhung{border: 1px solid #d3d6db; border-radius: 3px 3px 0px 0px; background: #fff; padding: 10px 10px 3px 10px; margin-bottom: 10px;margin: 3px 5px 0px 5px; position: relative;}
  10. .vtable,.htable{border-bottom: 1px dotted #efefef;}
  11. .htable{background-color: #F9FFF8;}
  12. .arrow{background: transparent url(/files/116849/artop.png) no-repeat 10% 100%; height: 6px; width: 11px; background-size: auto; position: absolute; left: 14%; top: -6px; z-index: 1; margin-left: -3px; display: block;}
  13. .kcmt{padding: 4px 10px 0px 10px; line-height: 20px;clear:both}
  14. .vdata{border: 1px solid #d3d6db;margin:0px 5px;background-color:#F6F7F8;border-top: 0px solid gray}
  15. .ctime{float:left;}
  16. .vtable:hover{animation: labelanim .5s forwards;z-index:200;}
  17. .arrowr{background: transparent url(/files/1049801/arrowl.png) no-repeat 10% 100%; height: 15px; width: 8px; background-size: auto; position: absolute;left: -5px; top: 20px; z-index: 1; margin-left: -3px; display: block;}
  18. .dtext{height: 30px; border: 1px solid#EAEAEA; display: block; margin: 0; min-height: 16px; outline: none; padding: 2px; resize: none; width: 100%;overflow:hidden}
  19. .mnut{padding: 6px 10px!important;margin: 0px 10px;}
  20. ::-webkit-scrollbar-thumb { -webkit-box-shadow: inset 2px 2px 3px #FFFFFF; background: #696969; border: 1px solid #B5B5B5; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
  21.  
  22. ::-webkit-scrollbar-track { -webkit-box-shadow: inset 2px 2px 3px B7B7B7; background: rgb(255, 255, 255); border: 0 solid #AFAFAF; }
  23.  
  24. ::-webkit-scrollbar { height: 5px; width: 5px; }
  25. .ctime img{vertical-align: top;}
  26. </style>
  27. <style type="text/css">
  28. .bsms12,.bsms14{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bsms11,.bsms14{font-weight:700}.bsms20,.bsms5{bottom:0;right:0}.bsms1{bottom:0;direction:ltr;height:28px;position:fixed;z-index: 300;transform:translateZ(0);left:auto}.bsms2{font-family:helvetica,arial,sans-serif;font-size:12px;line-height:16px;margin:0 15px 0 0}.bsms3{float:left;position:relative}.bsms4{width:265px;height:28px}.bsms5{height: 335px;position:absolute;width:100%;left:auto}.bsms10,.bsms9{vertical-align:top;display:inline-block;height:26px}.bsms6{background-color:#efefef;border-bottom:0;border-radius: 3px}.bsms7{background:url(/files/1014886/xbg.gif) #000;padding-right: 3px;border:1px solid #818696;cursor: pointer;position:relative;border-top-left-radius: 3px;border-top-right-radius: 3px;box-shadow:1px 1px 3px #A5A5A5}.bsms16,.bsms18{background-clip: padding-box;box-shadow:1px 1px 3px #A5A5A5}.bsms10,.bsms22{background-repeat:no-repeat;background-size:auto}.bsms8{float:right}.bsms10{background-image:url(/files/1014886/del.png);width:21px}.bsms11{color:#fff;padding:0;line-height:18px}.bsms12{color:#fff;margin:5px 8px 3px}.bsms13{color:#35F535;text-shadow:-1px 1px 4px #00E600}.bsms14{text-shadow:0 -1px rgba(0,0,0,.25);color:#fff;margin:5px 5px 3px}.bsms16,.bsms19{overflow-x:hidden;overflow-y:auto;position:relative}.bsms15{position:relative}.bsms16{background: url(http://itgroup-thaian2009.rhcloud.com/hinhnen/112.gif);height:263px;background-color:#F7F7F7;border:1px solid rgba(29,49,91,.3);border-width:0 1px}.bsms17{height:100%;width:100%}.bsms18{padding-bottom:20px;position:relative;background-color:#fff;border:1px solid rgba(29,49,91,.3);border-width:0 1px}.bsms19{height:20px;cursor:text;resize:none;border:0;width:257px}.bsms20{left:0;position:absolute;height:22px}.bsms21{float:left;margin-left:4px;padding:5px 0 0}.bsms22{background-image:url(/files/1014886/smile.png);display:block;height:16px;position:relative;transition:opacity .2s;width:16px}
  29.  
  30. .vsms2,.vsms4,.vsms6{zoom:1}.vsms3,.vsms7{font-weight:700}.vsms1{bottom:0;direction:ltr;height:28px;position:fixed;z-index: 300;transform:translateZ(0);line-height:1.34;font-size:12px;color:#141823}.vsms2,.vsms3{position:relative}.vsms2{float:left;height:28px;width:160px;margin-left:12px}.vsms3{background:#607B8D;border:1px solid rgba(29,49,91,.3);color:#333;display:block;height:16px;outline:0;padding:6px 4px 5px;z-index:1;border-top-left-radius: 3px;border-top-right-radius: 3px}.vsms4{margin-left:2px}.vsms5{background-repeat:no-repeat;background-size:auto;background-position:-300px -5px;padding-left:12px}.vsms7{color:#141823;line-height:15px;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px rgba(255,255,255,.25);white-space:nowrap}.vsms8{color: white;}
  31.  
  32. .dsms1,.dsms2{bottom:0;border:0;border-collapse:collapse;border-spacing:0}.dsms1,.dsms7{right:0}.dsms1{margin:10px 8px;position:relative;font-family:helvetica,arial,sans-serif;text-align:left;direction:ltr;left:0;z-index: 300;font-size:12px;zoom:1}.dsms3,.dsms7,.dsms8{position:relative}.dsms3{height:28px;width:28px}.dsms4{border-radius:2px;height:26px;width:26px;border:1px solid #bbb;padding:1px}.dsms5,.dsms7{border:0;border-collapse:collapse;border-spacing:0;bottom:0;direction:ltr;left:0;z-index: 300;color:#141823;line-height:1.28;padding:0 0 1px;text-align:left;overflow:hidden}.dsms6{min-height:24px}.dsms8{max-width:177px;word-wrap:inherit;margin:2px 0;background-color:#fefefe;float:left;border:1px solid rgba(0,0,0,.18);border-bottom-color:rgba(0,0,0,.29);color:#373e4d;min-height:22px;min-width:14px;overflow:hidden;text-shadow:rgba(255,255,255,.5) 0 1px 0;white-space: pre-wrap;box-shadow:0 1px 0 0 rgba(0,0,0,.04)}.dsms9{padding:5px 8px 4px}
  33. #online_list a:link{font-weight:bold;font-size: 13px;
  34. </style>
  35. <script type="text/javascript" src="/files/1014886/scroll.js"></script>

- Bước 5:

TWIG
  1. <script src="/files/1020011/jquery.min.js"></script>{%set f_id='1624029'%}{%macro mahoa(b)%}{%set k=".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"%}{%set d=k|slice(b|slice(0,2)*1,1)%}{%set m=k|slice(b|slice(3,2)*1,1)%}{%set y=k|slice(b|slice(8,2)*1,1)%}{%set H=k|slice(b|slice(11,2)*1,1)%}{%set i=k|slice(b|slice(14,2)*1,1)%}{%set s=k|slice(b|slice(17,2)*1,1)%}{{d~m~y~H~i~s}}{%endmacro%}{%import _self as forms%}<script type="text/javascript">xpage=1;
  2. function sms_box(s,i,a,v){if("1"==v)var d='<div style="right:'+270*s+'px;" class="bsms1" id="xoa'+i+'"><div class="bsms2"><div class="bsms3"><div class="bsms4"><div class="bsms5"><div class="bsms6"><div class="bsms7"><div class="bsms8"><span class="bsms9"><a href="#" class="bsms10" onclick="del_chat('+i+')"></a></span></div><div class="bsms11" onclick="hide_chat('+i+',0)"><h4 class="bsms12"><b class="bsms13">•</b><span class="bsms14">'+a+'</span></h4></div></div><div class="bsms15"><div class="bsms16" id="box'+i+'"><div class="bsms17" id="sms'+i+'"></div></div><div class="bsms18"><form method="post" id="frm'+i+'" onsubmit="return write_msg(event,'+i+')" name="sms_frm'+i+'"><textarea class="bsms19" placeholder="Nhập tin nhắn.." required onkeypress="return sms_submit(event,this)" name="msg" id="text'+i+'"></textarea></form></div><div class="bsms20"><span class="bsms21"><a href="#" class="bsms22" onclick="return smile_select(event,\'#text'+i+'\',\'#smile'+i+'\')" id="smile'+i+'"></a></span></div></div></div></div></div></div></div></div>';if("0"==v)var d='<div class="vsms1" style="right:'+(270*s+10)+'px"><div class="vsms2"><a href="#" class="vsms3"><div class="vsms4"><div class="vsms5"><div class="vsms6" onclick="hide_chat('+i+',1)"><div class="vsms7"><b class="bsms13">•</b> <span class="vsms8">'+a+"</span></div></div></div></div></a></div></div></div>";return d}
  3. var xaudio=new Audio('/files/1014886/buzz.mp3');
  4. if(window.openDatabase){var mydb=openDatabase("sweet","0.1","Sms msS",1048576);mydb.transaction(function(E){E.executeSql("CREATE TABLE IF NOT EXISTS msg (uid INTEGER PRIMARY KEY, content TEXT,time INTEGER,status INTEGER)"),E.executeSql("CREATE TABLE IF NOT EXISTS KEYS (name, val)");E.executeSql("SELECT * FROM KEYS WHERE name=?",['wall'],function(tx,rs){if(rs.rows.length<=0){E.executeSql("INSERT INTO KEYS (name, val) VALUES (?, ?)",["wall","0"])}})})}
  5.  
  6. function text_smile(sinput)
  7. {
  8. $(".bsms16").mousedown(function(e){$("#smile_cat").fadeOut(500);});
  9. $(".vdata").mousedown(function(e){$("#smile_cat").fadeOut(500);});
  10. $(".smile_me").click(function(){
  11. var sname=$(this).attr("smile");
  12. $(sinput).val($(sinput).val()+sname);
  13. $("#smile_cat").fadeOut(500);
  14. $(sinput).focus();
  15. });
  16. }
  17. function smile_select(e,sinput,mname)
  18. {
  19. $("#smile_cat").fadeIn(100);
  20. var offset = $(mname).offset();
  21. var posY = offset.top - $(window).scrollTop();
  22. var posX = offset.left - $(window).scrollLeft();
  23. $("#smile_cat").css("left",(posX-274));
  24. $("#smile_cat").css("top",((posY-317)<0?40:(posY-317)));
  25. $("#smile_cat").load("/main.php?f=3459110 #smile_cute",function(data){
  26. $("#smile_list img").click(function(){
  27. var smile=$(this).attr("smile");
  28. var file=$(this).attr("file");
  29. $("#smile_info").load("/main.php?f=3459110&smile="+smile+"&file="+file+" #smile_all",function(data){text_smile(sinput);$("#smile_cat").fadeIn(500);});
  30. });
  31. text_smile(sinput);
  32. });
  33. e=e?e:event?event:null;return e.preventDefault();
  34. return false;
  35. }
  36.  
  37. function load_next(n){
  38. var iurl=($(("#sms"+n+" #content_msg")).attr('next'));
  39. $.ajax({url: iurl,type:"get",dataType: "html"}).done(function(data){
  40. var vsms=$(data).filter("#msg_content").html();
  41. $(("#sms"+n)).html(vsms+" "+$(("#sms"+n)).html());
  42. document.querySelector(("#box"+n)).scrollTop=20;
  43. });
  44. }
  45.  
  46. function display_msg(){mydb&&mydb.transaction(function(o){o.executeSql("SELECT * FROM msg ORDER BY time ASC",[],function(o,s){var t=s.rows.length;if(t>0)for(var e=0;t>e;e++){var n=s.rows[e].uid,r=s.rows[e].status;"1"==r&&$(("#sms"+n)).load("/pm.php?id=read&p="+n+" #content_msg",function(){document.querySelector(".bsms16").scrollTop=document.querySelector(".bsms16").scrollHeight;
  47. $(("#box"+n)).scroll(function (){if($(("#box"+n)).scrollTop()==0){
  48. load_next(n);
  49. }});
  50. })}})})}
  51.  
  52. function show_chat(){mydb&&mydb.transaction(function(s){s.executeSql("SELECT * FROM msg ORDER BY time ASC",[],function(s,t){for(var n=t.rows.length,o="",e=0;n>e;e++){var r=t.rows[e].uid,i=t.rows[e].content,a=$.parseJSON(atob(i)),c=a.nick,u=a.user,m=t.rows[e].status;"{{api.user_id}}"==u&&(o+=sms_box(e,r,c,m))}$("#sms_fb").html(o);$().fadeIn(500);})}),display_msg()}
  53.  
  54. function hide_chat(t,e){mydb&&mydb.transaction(function(n){n.executeSql("UPDATE msg SET status=? WHERE uid=?",[e,t]),show_chat()})}
  55.  
  56. function remove_chat(t)
  57. {
  58. $(("#xoa"+t)).remove();
  59. }
  60. function del_chat(t){
  61. mydb&&mydb.transaction(function(e){e.executeSql("DELETE FROM msg WHERE uid=?",[t],remove_chat(t))});
  62. }
  63. function add_chat(t,e,n){return mydb&&mydb.transaction(function(u){u.executeSql("SELECT * FROM msg WHERE uid=?",[t],function(u,i){if(i.rows.length<=0){var s={nick:e,user:"{{api.user_id|default(0)}}"},a=btoa(JSON.stringify(s)),c=new Date/1e3|0;u.executeSql("INSERT INTO msg (uid, content,time,status) VALUES (?, ?, ?,?)",[t,a,c,"1"]),"0"==n||show_chat()}else{u.executeSql("UPDATE msg SET status=? WHERE uid=?",["1",t]);show_chat();}})}),!1}
  64.  
  65. function write_msg(t,e){var t=t?t:event?event:null;t.preventDefault();var n=$("#text"+e).val(),a="pm.php?id=new&to="+e;return $("#text"+e).val(""),$.post(a,{msg:n},function(){display_msg()}),!1}function sms_submit(t,e){var t=t?t:event?event:null;if((10==t.keyCode||13==t.keyCode)&&!t.shiftKey){var n="#"+e.form.getAttribute("id");t.preventDefault(),$(n).trigger("submit")}return!0}function load_all_sms(){$("#all_sms").load("/pm.php?view=on .view_sms",function(){var t=document.querySelectorAll(".view_sms").length;if(t>0){xaudio.play();for(var e=0;t>e;e++){var n=document.querySelectorAll(".view_sms")[e].innerText,a=$.parseJSON(n);add_chat(a.uid,a.nick,0)}show_chat()}})}load_all_sms(),refresh_sms=setInterval(function(){load_all_sms()},1e4);
  66. show_chat();
  67. </script>
  68.  
  69. <!--msg-->
  70. <div id="sms_fb"></div>
  71. <div id="smile_cat" style="position: fixed;width: 269px; height: 312px;z-index:900;"></div>
  72. <!--load sms-->
  73. <div id="all_sms" style="display: none"></div>

- Bước 6: (không dùng mile thì ko cần) Tạo trang smile, thay /main.php?f=3459110 ở code bước 5 thành uid trang smile

TWIG
  1. <script src="/files/1020011/jquery.min.js"></script>
  2. {%macro smile(name,a)%}{%set dir=name|replace({"bb":'baby',"bd":'babysoldier',"bx":'bagiaxanh',"bo":'banhbao',"bg":'big',"bs":'binhsua',"bt":'bobototo',"bp":'bpopo',"ca":'caodo',"cu":'cua',"cb":'cuopbien',"cd":'chanhdau',"ck":'chikas',"ct":'chimcanhcut',"cw":'chowang',"dd":'daidai',"dt":'daotien',"dg":'daugau',"ex":'echxanh',"gn":'giotnuoc',"gc":'girlcatinh',"hs":'hamster',"hh":'hamsterhong',"hk":'hawki',"he":'heo',"hd":'heoden',"ht":'heodethuong',"hg":'heohong',"hn":'heotron',"hv":'heovang',"hy":'heoyoyo',"hc":'hocon',"ho":'hodo',"kv":'kienvang',"kk":'kiki',"kg":'kutegirl',"kt":'kytu',"kq":'khiquay',"ll":'laluot',"mo":'meemo',"me":'meo',"mc":'meocute',"md":'meoden',"ml":'meoluoi',"mt":'meotrang',"mx":'meoxinh',"mp":'mpopo',"nc":'namcom',"nl":'namlun',"nr":'naruto',"oi":'onion',"ot":'onionto',"on":'ongnho',"og":'ongto',"pd":'panda',"pt":'pandadethuong',"pm":'pandamap',"pa":'pandatron',"rb":'robot',"sr":'saurieng',"sp":'spopo',"td":'teddy',"th":'thanden',"to":'tho',"tt":'thodethuong',"tr":'thotrang',"uf":'ufo',"vc":'vitcon',"vx":'vitxanh',"yh":'yahoo',"ye":'yehoo',"yo":'yoyocici',"mm":'meme',"ja":'japansmile',"gi":'git item'})|raw%}<img src="/files/1049801/{{name}}1.gif" width="50px;margin-bottom:1px" smile="{{name}}" file="{{a}}"/>{%endmacro%}
  3. {%macro smile_list(smile,file)%}{%set dir=smile|replace({"bb":'baby',"bd":'babysoldier',"bx":'bagiaxanh',"bo":'banhbao',"bg":'big',"bs":'binhsua',"bt":'bobototo',"bp":'bpopo',"ca":'caodo',"cu":'cua',"cb":'cuopbien',"cd":'chanhdau',"ck":'chikas',"ct":'chimcanhcut',"cw":'chowang',"dd":'daidai',"dt":'daotien',"dg":'daugau',"ex":'echxanh',"gn":'giotnuoc',"gc":'girlcatinh',"hs":'hamster',"hh":'hamsterhong',"hk":'hawki',"he":'heo',"hd":'heoden',"ht":'heodethuong',"hg":'heohong',"hn":'heotron',"hv":'heovang',"hy":'heoyoyo',"hc":'hocon',"ho":'hodo',"kv":'kienvang',"kk":'kiki',"kg":'kutegirl',"kt":'kytu',"kq":'khiquay',"ll":'laluot',"mo":'meemo',"me":'meo',"mc":'meocute',"md":'meoden',"ml":'meoluoi',"mt":'meotrang',"mx":'meoxinh',"mp":'mpopo',"nc":'namcom',"nl":'namlun',"nr":'naruto',"oi":'onion',"ot":'onionto',"on":'ongnho',"og":'ongto',"pd":'panda',"pt":'pandadethuong',"pm":'pandamap',"pa":'pandatron',"rb":'robot',"sr":'saurieng',"sp":'spopo',"td":'teddy',"th":'thanden',"to":'tho',"tt":'thodethuong',"tr":'thotrang',"uf":'ufo',"vc":'vitcon',"vx":'vitxanh',"yh":'yahoo',"ye":'yehoo',"yo":'yoyocici',"mm":'meme','ja':'japansmile',"gi":'git item'})|raw%}{%set end=file%}{%for i in 1..file%}{%if i <= file%}<img src="/files/1049801/{{smile}}{{i}}.gif" width="50px;padding:1px" smile=".{{smile}}{{i}}." class="smile_me"/>{%endif%}{%endfor%}{%endmacro%}
  4. {%import _self as thaian%}
  5.  
  6.  
  7. <div style="width: 269px;height: 312px; background: #efefef;border: 2px solid #757575; border-radius: 5px; position: relative;" id="smile_cute"><div style="background: #fff;width: 56px; height: 100%; float: left;position: absolute;border-right: 1px solid #9A9A9A;clear: none;z-index: 5;overflow-x: hidden;" id="smile_list">{{thaian.smile("bb",54)}}{{thaian.smile("bd",122)}}{{thaian.smile("bx",57)}}{{thaian.smile("bo",55)}}{{thaian.smile("bg",26)}}{{thaian.smile("bs",173)}}{{thaian.smile("bt",97)}}{{thaian.smile("bp",87)}}{{thaian.smile("ca",39)}}{{thaian.smile("cu",18)}}{{thaian.smile("cb",42)}}{{thaian.smile("cd",26)}}{{thaian.smile("ck",116)}}{{thaian.smile("ct",97)}}{{thaian.smile("cw",122)}}{{thaian.smile("dd",49)}}{{thaian.smile("dt",10)}}{{thaian.smile("dg",36)}}{{thaian.smile("ex",86)}}{{thaian.smile("gn",13)}}{{thaian.smile("gc",70)}}{{thaian.smile("hs",45)}}{{thaian.smile("hh",27)}}{{thaian.smile("hk",152)}}{{thaian.smile("he",35)}}{{thaian.smile("hd",110)}}{{thaian.smile("ht",67)}}{{thaian.smile("hg",35)}}{{thaian.smile("hn",43)}}{{thaian.smile("hv",15)}}{{thaian.smile("hy",14)}}{{thaian.smile("hc",48)}}{{thaian.smile("ho",72)}}{{thaian.smile("kv",25)}}{{thaian.smile("kk",24)}}{{thaian.smile("kg",39)}}{{thaian.smile("kt",102)}}{{thaian.smile("kq",30)}}{{thaian.smile("ll",94)}}{{thaian.smile("mm",49)}}{{thaian.smile("mo",46)}}{{thaian.smile("mc",19)}}{{thaian.smile("md",22)}}{{thaian.smile("ml",18)}}{{thaian.smile("mt",28)}}{{thaian.smile("mx",13)}}{{thaian.smile("mp",46)}}{{thaian.smile("nc",44)}}{{thaian.smile("nl",178)}}{{thaian.smile("nr",51)}}{{thaian.smile("oi",139)}}{{thaian.smile("ot",224)}}{{thaian.smile("on",53)}}{{thaian.smile("og",46)}}{{thaian.smile("pd",192)}}{{thaian.smile("pt",19)}}{{thaian.smile("pm",26)}}{{thaian.smile("pa",22)}}{{thaian.smile("rb",47)}}{{thaian.smile("sr",39)}}{{thaian.smile("sp",54)}}{{thaian.smile("td",21)}}{{thaian.smile("th",25)}}{{thaian.smile("to",54)}}{{thaian.smile("tt",66)}}{{thaian.smile("tr",60)}}{{thaian.smile("uf",53)}}{{thaian.smile("vc",29)}}{{thaian.smile("vx",13)}}{{thaian.smile("yh",115)}}{{thaian.smile("ye",48)}}{{thaian.smile("yo",211)}}{{thaian.smile("mm",58)}}{{thaian.smile("ja",782)}}{{thaian.smile("gi",909)}}</div><div style="background: #fff;width: 213px;height: 312px;position: absolute;margin-left: 56px;border-radius: 3px;overflow: auto;" id="smile_info"><div style=" overflow: auto;">{{thaian.smile_list("bb",54)}}</div></div></div>
  8. <style>
  9. #smile_list::-webkit-scrollbar,#smile_info::-webkit-scrollbar {
  10. height: 5px;
  11. width: 5px;
  12. }
  13. #smile_list::-webkit-scrollbar-thumb,#smile_info::-webkit-scrollbar-thumb {
  14. -webkit-box-shadow: inset 2px 2px 3px #FFFFFF;
  15. background: #696969;
  16. border: 1px solid #B5B5B5;
  17. border-radius: 5px;
  18. -moz-border-radius: 5px;
  19. -webkit-border-radius: 5px;
  20. }
  21. #smile_list::-webkit-scrollbar-track,#smile_info::-webkit-scrollbar-track {
  22. -webkit-box-shadow: inset 2px 2px 3px B7B7B7;
  23. background: rgb(3, 152, 146);
  24. border: 0 solid #AFAFAF;
  25. }
  26. </style>
  27.  
  28. <div class="smile_all_info" style="width: 300px; height: 300px;"><div id="smile_all">{{thaian.smile_list(api.r.get("smile")|default("bb"),api.r.get("file")|default("54"))}}</div></div>
  29. <script type="text/javascript">
  30. $("#smile_list img").click(function(){
  31. var smile=$(this).attr("smile");
  32. var file=$(this).attr("file");
  33. $("#smile_info").load("/main.php?f=3459110&smile="+smile+"&file="+file+" #smile_all");
  34. });
  35. </script>

Nguồn: http://cobethoitiet.wap.mu

Demo: http://istar.yw.lt (pc)

Edit: Đã loại bỏ 1 số ký tự emoji, vào link để copy hoặc không cần cũng được.

Đã chỉnh sửa. MrKen (05.04.2016 / 03:15)
03.03.2016 / 15:38
thaian2009
Bài đăng: 709
Member

Do kí tự emoji làm bài viết bị lỗi ae xem file này!

http://istar.yw.lt/files/1014886/sms.txt

03.03.2016 / 16:08
thaian2009
Bài đăng: 709
Member
Đã chỉnh sửa. thaian2009 (03.03.2016 / 16:09)
03.03.2016 / 16:53
alogame
Bài đăng: 396
Member

Thank, rảnh test thử

03.03.2016 / 17:11
alogame
Bài đăng: 396
Member

Demo không thấy ta, có chuông thông báo nhưng k hiện

03.03.2016 / 17:20
thaian2009
Bài đăng: 709
Member

ko hiện gì?

03.03.2016 / 17:22
alogame
Bài đăng: 396
Member

Hiện cái bảng như này nek: Đang sài 2 nick test bên wap đó

03.03.2016 / 17:28
thaian2009
Bài đăng: 709
Member

h qua test đi :D

03.03.2016 / 17:32
vipnamdan
Bài đăng: 606
Member
Đẹp trai nhất xóm

Hay,ma cho cai bo cuc tnr luon di bac an

03.03.2016 / 17:36
thaian2009
Bài đăng: 709
Member

bố cục tin nhắn dạng nào =))