您好,欢迎访问一九零五行业门户网

怎样使用jquery实现左右上下移动功能

这次给大家带来怎样使用jquery实现左右上下移动功能,使用jquery实现左右上下移动功能的注意事项有哪些,下面就是实战案例,一起来看一下。
最近再做报表时候,直接把全部字段都导出了,但这不太灵活。回忆老师讲过的项目做报表如下左右上下移功能灵活控制,所以就尝试下咯。
js代码
function selected(thiz)  {   var name = thiz.name;   if(name==right)    $(select[name='left']).val();   else    $(select[name='right']).val();  }  function shift(thiz)  {   var right = $(select[name='right']);   var left = $(select[name='left']);   if(thiz==left && right.val() != ){    lrshift(right,left);   }else if(thiz==right && left.val() != ){    lrshift(left,right);   }     //获取选中的值  }  //从dest移动到target  function lrshift(dest,target)  {   var childrens = dest.children();   var args = ;   //alert(dest.val());   var dests = dest.val()   for(var x = 0; x < dests.length; x++) { var vatemp = dests[x]; target.append("<option value='"+vatemp+"'>+vatemp+</option>);//追加    target.find(option[value='+vatemp+']).attr(selected,true);//给追加获取焦点    for(var y = 0; y <childrens.length;y++ )//删除选中的元素 { if(childrens.get(y).value==vatemp) $(childrens.get(y)).remove(); } } dest.val(""); } function shiftvalue(address) { var right = $("select[name='right']"); var left = $("select[name='left']"); if(right.val()!=null) shift(right,address); else if(left.val()!=null) shift(left,address); } function shift(obj,address){ //获取选中的值 var objdata = obj.val(); var childrens = obj.children(); var strs = ""; for(var x = 0; x < objdata.length; x++) { strs+="@"+objdata[x]; } //获取要添加位置对象 var temp = null; if(address=="top"){ var number = findselect(childrens,objdata[0]); if((--number) < 0) return; temp = childrens.get(number); } else{ var number = findselect(childrens,objdata[objdata.length-1]); if((++number) > childrens.length-1)      return;     temp = childrens.get(number);    }      //删除选中的值    var n = 0;    var buffer = new array(childrens.length-objdata.length);    for(var x = 0; x < childrens.length;x++) { var value = childrens.get(x).value; if(strs.indexof(value)==-1) buffer[n++] = value; } //添加新排序的值 obj.empty(); if(address=="top") { for(var y = 0; y < buffer.length;y++) { if(buffer[y]==temp.value) { for(var x = 0; x < objdata.length ; x++) { obj.append("<option>+objdata[x]+</option>);       }      }      obj.append(<option>+buffer[y]+</option>);     }    }else{     for(var y = 0; y    </p>   </p>   <p style="margin-top:-20px;">    <p style="margin-left:22%;">     <b>需导出字段</b>    </p>    <p style="float:left;">     <select name="right" multiple="multiple" onchange="selected(this)" style="height:350px;width:200px;">      <option value="首价">首价</option>      <option value="续价">续价</option>      <option value="大大">大大</option>      <option value="小小">小小</option>     </select>    </p>   </p>   <p style="float:left;">    <p style="margin:30px;margin-top:110px;">    <input type="button" value="向上" onclick="shiftvalue('top')" />    </p>    <p style="margin:30px;margin-top:30px;">    <input type="button" value="向下" onclick="shiftvalue('bottom')" />   </p>   </p>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
如何使用vue ssr 组件加载
vue.js内侦听器使用案例解析
以上就是怎样使用jquery实现左右上下移动功能的详细内容。
其它类似信息

推荐信息