分类:WEB前端     文章(2) 篇

flash POST与GET给PHP数据 (2010-01-08)

flash POST与GET给PHP数据
主要的函数是
system.useCodepage = true;
my_vars = new LoadVars();
my_vars.send(url,"_blank","GET");
my_vars.sendAndLoad(url,"_blank","POST");

代码如下
  1. stop();
  2.  
  3. send_btn.onRelease = function(){
  4.    
  5.     system.useCodepage = true;
  6.    
  7.         my_vars = new LoadVars();
  8.         var url = "http://39788.eregistry2.hop.clickbank.net";
  9.         //var get_url = "http://www.govregistry.us/register.php?hop=39788&search_type=background&timeout=20&action=search&xpath=sbox&conversion_id=&gc_source=&fname_req=tom&middle_name=&approx_age=&lname_req=&city=&state=NC&x=96&y=27";
  10.        
  11.         //post hidden var
  12.         my_vars.hop = "39788";
  13.         my_vars.search_type = "background";
  14.         my_vars.timeout = "20";
  15.         my_vars.action = "search";
  16.         my_vars.xpath = "sbox";
  17.         my_vars.conversion_id = "";
  18.         my_vars.gc_source = "";
  19.         my_vars.tid = "";
  20.        
  21.         //post form var
  22.         my_vars.fname_req = fname_req.text;
  23.         my_vars.middle_name = middle_name.text;
  24.         my_vars.approx_age = approx_age.text;
  25.         my_vars.lname_req = lname_req.text;
  26.         my_vars.city = city.text;
  27.         my_vars.state_var = state_var.text;
  28.  
  29.         my_vars.send(url,"_blank","GET");
  30.         //my_vars.getURL(url,"_blank","GET");
  31.  
  32.         //my_vars.send("http://www.govregistry.us/","_blank","GET")
  33.  
  34.  
  35. }
  36.  
  37.  
  38. /*
  39. send_btn.onRelease=function(){
  40. getURL("http://www.govregistry.us/register.php?hop=39788&search_type=background&timeout=20&action=search&xpath=sbox&conversion_id=&gc_source=&fname_req="+fname_req.text+"&middle_name="+middle_name.text+"approx_age="+approx_age.text+"&lname_req="+lname_req.text+"&city="+city.text+"&state="+state_var.text+"&x=96&y=27","_blank")
  41. }
  42. */
  43.  


 

点击查看原文阅读(652) | 评论(0) | 分类:WEB前端

JS控制DIV层拖/拉/放 (2009-12-02)

今天下班回家路上看了会书
其实JS拖拽层并不是太难

简单嘚瑟一下原理:
1. css的position:absolute属性控制层定位
2. onmousedown onmouseup onmousemove事件控制
3. 层跟随鼠标移动中获取x,y轴坐标

判断鼠标是不是左键按下去了?是,把控制权交给mouseMove()函数
左键松开把mouseMove()函数控制权销毁


最简单的例子

代码如下
  1. <script type="text/javascript">
  2. var ie = (document.all);
  3. var ns = !ie;
  4. var _dragobj;
  5.  
  6. function dragInit() {
  7.     document.onmousemove = mouseMove;
  8.     _dragobj = document.getElementById('test');
  9. }
  10.  
  11. function mouseMove(e) {
  12.     x = (ns)?e.pageX:event.x;
  13.     y = (ns)?e.pageY:event.y;
  14.  
  15.     _dragobj.style.left = (x+12)+'px';
  16.     _dragobj.style.top = (y+5)+'px';
  17. }
  18. </script>
  19.  
  20. <body onload="dragInit();">
  21. <div id="test" style="position:absolute; width:20px; height:20px; background:#000">Mouse</div>
  22. </body>

其中mouseMove函数中IE使用event获取坐标,非IE用pageX,pageY获取坐标


下面是一个完整的例子
流程如下:
初始化 dragInit()  ->  按下鼠标启动startDrag()把控制权做好安排  ->  交给mouseMove()处理拖拉放  ->鼠标松开mouseUp()把控制权收回。

代码如下
  1. <style type="text/css">
  2. .move {cursor:move;}
  3. .op {opacity:0.5;-moz-opacity:0.5;filter:alpha(opacity=50);}
  4. .t {color:#00F;font-weight:bold;}
  5. #Layer1 {
  6.     position:absolute;
  7.     width:431px;
  8.     height:244px;
  9.     z-index:1;
  10.     left: 37px;
  11.     top: 127px;
  12. }
  13. </style>
  14. <script type="text/javascript">
  15. var ns = (navigator.vendor == ("Netscape6") || navigator.product == ("Gecko"));
  16. var ie = (document.all);
  17. var _dragobj,_dragActive=true;
  18. var _maxi=0,_curri,_className;
  19.  
  20. function mouseMove(e){
  21.     //set drag status
  22.     _dragActive=false;
  23.  
  24.     x=(ns)?e.pageX:event.x;
  25.     y=(ns)?e.pageY:event.y;
  26.  
  27.     _dragobj.style.left=(_cx+x)+'px';
  28.     _dragobj.style.top=(_cy+y)+'px';
  29.  
  30. }
  31.  
  32. function mouseUp(e){
  33.     _dragobj.className=_className;
  34.  
  35.     //set drag status
  36.     _dragActive=true;
  37.     _maxi++;
  38.  
  39.     document.onmousemove=noopMouse;
  40.     document.onmousedown=noopMouse;
  41.     document.onmouseup=noopMouse;
  42.  
  43.     snapGrid(true);
  44. }
  45.  
  46. function mouseDown(e){
  47.     dragable=(_dragobj.getAttribute('dragable')=='dragable');
  48.     _className=_dragobj.className
  49.     _dragobj.className=(dragable)?'op':_className;
  50.     //alert(_dragobj.style.filter);
  51.  
  52.     //change current layer to top
  53.     _dragobj.style.zIndex=_maxi;
  54.  
  55.     //start drag command
  56.     document.onmousemove=mouseMove;
  57.  
  58.     //get offset between layer position and cursor position
  59.     x=(ns)?e.pageX:event.x;
  60.     y=(ns)?e.pageY:event.y;
  61.  
  62.     _cx=_dragobj.offsetLeft-x;
  63.     _cy=_dragobj.offsetTop-y;
  64.  
  65. }
  66.  
  67. function noopMouse(e){
  68.     return false;
  69. }
  70.  
  71. function hitTest(a,b){
  72.     //is current layer overlay with other ?
  73.     var ax,ay,aw,ah;
  74.     var bx,by,bw,bh;
  75.  
  76.     ax=a.offsetLeft;
  77.     ay=a.offsetTop;
  78.     aw=parseInt(a.style.width);
  79.     ah=parseInt(a.style.height);
  80.  
  81.     bx=b.offsetLeft;
  82.     by=b.offsetTop;
  83.     bw=parseInt(b.style.width);
  84.     bh=parseInt(b.style.height);
  85.  
  86.     if((ax+aw)>=bx && ax <=(bx+bw) && (ay+ah) >=by && ay <= (by+bh)){
  87.         return true
  88.     }else{
  89.         return false
  90.     }
  91. }
  92.  
  93. function dragInit(){
  94.     var i, a, main,obj;
  95.  
  96.     for(i=0; (a = document.getElementsByTagName("div")[i]); i++) {
  97.         obj=document.getElementById(a.getAttribute("id"));
  98.         if (obj.style.zIndex==null || obj.style.zIndex==''){
  99.             obj.style.zIndex=i;
  100.         }
  101.         _maxi=Math.max(obj.style.zIndex,_maxi);
  102.     }
  103.     _maxi++;
  104. }
  105.  
  106. function startDrag(layerName){
  107.     //is this layer dragable?
  108.     dragable=(document.getElementById(layerName).getAttribute('dragable')=='dragable');
  109.  
  110.     //to avoid when mouse over layer, change layer obj
  111.     if (_dragActive&&dragable){
  112.         if (document.getElementById(layerName)!='null'){
  113.             _dragobj=document.getElementById(layerName);
  114.  
  115.             document.onmousedown=mouseDown;
  116.             document.onmouseup=mouseUp;
  117.         }
  118.     }else{
  119.         document.onmousemove=noopMouse;
  120.         document.onmousedown=noopMouse;
  121.         document.onmouseup=noopMouse;
  122.     }
  123. }
  124.  
  125. function snapGrid(b){
  126.     var grid=20;
  127.     var diffx=parseInt(_dragobj.style.left)%grid;
  128.     var diffy=parseInt(_dragobj.style.top)%grid;
  129.  
  130.     if (b){
  131.         _dragobj.style.left=parseInt(_dragobj.style.left)+((diffx>(grid/2))?(grid-diffx):(0-diffx))+'px';
  132.         _dragobj.style.top=parseInt(_dragobj.style.top)+((diffy>(grid/2))?(grid-diffy):(0-diffy))+'px';
  133.     }
  134. }
  135.  
  136. function isDragable(layerName){
  137.     //is this layer dragable?
  138.     dragable=(document.getElementById(layerName).getAttribute('dragable')=='dragable');
  139.     //document.getElementById(layerName).className=(dragable)?'move':document.getElementById(layerName).className;
  140.     document.getElementById(layerName).style.cursor='move';
  141. }
  142.  
  143. function lockDrag(layerName){
  144.     document.getElementById(layerName).setAttribute('dragable','fixed');
  145. }
  146.  
  147. function releaseDrag(layerName){
  148.     document.getElementById(layerName).setAttribute('dragable','dragable');
  149. }
  150.  
  151. </script>
  152. </head>
  153. <body onload="dragInit();">
  154. <div id="test" dragable="dragable" style="position:absolute; width:200px; height:100px; border:#000 1px solid; background:#EEE; left: 580px; top: 100px;" onmouseover="isDragable(this.id);" onmousedown="startDrag(this.id);">
  155.     <table width="100%" border="0" cellspacing="1" cellpadding="2">
  156.         <tr>
  157.             <td align="right" bgcolor="#0000FF"><img src="images/x.gif" width="15" height="15" /></td>
  158.         </tr>
  159.     </table>
  160. <a href="javascript://" onclick="lockDrag('test');">Lock</a><br />
  161. <a href="javascript://" onclick="releaseDrag('test');">Release</a>
  162. </div>
  163. <div id="test1" dragable="dragable" style="position:absolute; width:780px; height:100px; border:#000 1px solid; background:#EEE; left: 0px; top: 0px;" onmouseover="isDragable(this.id);" onmousedown="startDrag(this.id);">
  164.     <table width="100%" border="0" cellspacing="1" cellpadding="2">
  165.         <tr>
  166.             <td align="right" bgcolor="#0000FF"><img src="images/x.gif" width="15" height="15" /></td>
  167.         </tr>
  168.     </table>
  169. </div>
  170. <div id="test2" dragable="dragable" style="position:absolute; width:200px; height:100px; border:#000 1px solid; background:#EEE; left: 580px; top: 200px;" onmouseover="isDragable(this.id);" onmousedown="startDrag(this.id);">
  171.     <table width="100%" border="0" cellspacing="1" cellpadding="2">
  172.         <tr>
  173.             <td align="right" bgcolor="#0000FF"><img src="images/x.gif" width="15" height="15" /></td>
  174.         </tr>
  175.     </table>
  176. <a href="javascript://" onclick="lockDrag('test2');">Lock</a><br />
  177. <a href="javascript://" onclick="releaseDrag('test2');">Release</a>
  178. </div>
  179. <div id="test3" dragable="dragable" class="t" style="position:absolute; width:200px; height:100px; border:#000 1px solid; background:#EEE; left: 580px; top: 300px;" onmouseover="isDragable(this.id);" onmousedown="startDrag(this.id);">
  180.     <table width="100%" border="0" cellspacing="1" cellpadding="2">
  181.         <tr>
  182.             <td align="right" bgcolor="#0000FF"><img src="images/x.gif" width="15" height="15" /></td>
  183.         </tr>
  184.     </table>
  185. <a href="javascript://" onclick="lockDrag('test3');">Lock</a><br />
  186. <a href="javascript://" onclick="releaseDrag('test3');">Release</a>
  187. </div>

点击查看原文阅读(268) | 评论(1) | 分类:WEB前端
<< 1 >>