- 浏览: 180360 次
- 性别:
- 来自: 福建
最新评论
-
卡殿Love:
你好! 谢谢你的文章让我知道其中的原因,目前正在做手机端上的项 ...
web手机开发(iPhone和Andriod)关于position:fixed 属性的讨论
//=====================================tree.js 移到writemail.js begin=================
var fdorgCache = [];//组织结构缓存对象
//获得公司组织结构数据
function doLoadTreeNode(pid) {
//从缓存数据中获取数据
if(fdorgCache[pid]){
orgHandleResult(fdorgCache[pid], pid);
return ;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getorgs",
data: "pid="+pid,
async: false,
dataType: 'json',
success: function(data, textStatus) {
//缓存数据
fdorgCache[pid] = data;
orgHandleResult(data, pid);
}
});
}
/**
* 结果组织结构树处理
* @param {} data
* @param {} pid
*/
function orgHandleResult(data, pid){
var treeHtml=doCreateTree(data);
if(pid == 0){
$("#linkman_BAA").append(treeHtml);
}else{
var id=pid.replace(/\./gi,"");
$("#"+id+"_1").after(treeHtml);
}
}
//构造树
function doCreateTree(data){
var array=[];
array.push("<div class='tree_AE' id='");
array.push(data[0][1].replace(/\./gi,""));
array.push("'>");
for(var i=0,l=data.length;i<l;i++){
var name = data[i][2];
var dept = data[i][0];
if(data[i][3] == null){
array.push("<div class='tree_A' onclick=\"doLoadPerson('");
array.push(dept);
array.push("')\"><div class='tree_AC'>");
array.push("</div><div class='tree_AD'>[");
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}else{
var id=dept.replace(/\./gi,"");
array.push("<div class='tree_A' id='");
array.push(id);
array.push("_1'><div class='tree_AA' onclick=\"doLoadTreeSubNode('");
array.push(dept);
array.push("')\" ");
array.push("id='");
array.push(id);
array.push("_11'></div><div class='tree_AD' id='");
array.push(id);
array.push("_111' onclick=\"doLoadPerson('");
array.push(dept);
array.push("')\">[")
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}
}
array.push("</div>");
return array.join("");
}
//当点击父节点触发事件
function doLoadTreeSubNode(pid){
var id=pid.replace(/\./gi,"");
if($("#"+id+"_11").attr("class") == "tree_AA"){
$("#"+id+"_11").attr("class","tree_AB");
doLoadTreeNode(pid);
$("#"+id).css("margin-left","20");
}else{
$("#"+id+"_11").attr("class","tree_AA");
$("#"+id).remove();
}
}
var arrayPerson=[];
var linkmanCache = []; //联系人缓存对象
//当点击叶子节点触发事件
function doLoadPerson(pid){
if(linkmanCache[pid]){
showLinkmanHandle(linkmanCache[pid]);
return;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getpersons",
data: "groups="+pid,
dataType: 'json',
success: function(data, textStatus) {
showLinkmanHandle(data);
linkmanCache[pid] = data;
}
});
}
function showLinkmanHandle(data) {
var person = [];
$("#linkman_BA").empty();
for (var i = 0, l = data.length; i < l; i++) {
person.push("<a href='javascript:void(0);' class='tree_AF' id='"+data[i][0]+"' onclick=\"onSelectPerson('"+data[i][1]+"','"+data[i][0]+"',this.id)\">");
person.push(data[i][0]+" "+data[i][1]+"</a>");
}
$("#linkman_BA").append(person.join(""));
person = null;
}
function onSelectPerson(person,userID,obj){
var flag=true;
for(var i=0,l = arrayPerson.length;i < l;i++){
if(userID == arrayPerson[i]){
flag=false;
}
}
if(flag){
arrayPerson.push(userID);
$("#person").append("<div id='"+userID+"1'class='tree_AG' onclick=\"delPerson('"+person+"','"+userID+"')\"><a href='javascript:void(0);' style='width:auto;height:auto;float:left;text-decoration: none;'>"+userID+" "+person+"</a><a href=\"javascript:void(0);\" class=\"photo_AB\" style=\"width:16px;height:16px;float:right;background: url('/webmail/resources/editor/cross.gif');\"></a></div>");
}
$("#linkman_BA > a").remove("#"+obj);
}
function delPerson(person,userID){
$("#person > div").remove("#"+userID+"1");
$("#linkman_BA").append("<a href='javascript:void(0);' class='tree_AF' id='"+userID+"' onclick=\"onSelectPerson('"+person+"','"+userID+"',this.id)\">"+userID+" "+person+"</a>");
var tempArray = [];
for(var i=0,l = arrayPerson.length;i<l;i++){
if( userID!= arrayPerson[i]){
tempArray.push(arrayPerson[i]);
}
}
arrayPerson = tempArray;
tempArray = null;
}
function notarize(){
var receiver=$.trim($("#receiver").val());
if(receiver ==""){
$("#receiver").val(arrayPerson.join(","));
}else{
var a=receiver.split(",");
for(var i=0,l1=arrayPerson.length;i<l1;i++){
var flag=true;
for(var x = 0,l2 = a.length;x<l2;x++){
if(arrayPerson[i] == a[x]){
flag=false;
break;
}
}
if(flag){
receiver=receiver+","+arrayPerson[i];
}
}
$("#receiver").val(receiver);
}
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
// Glass.hide();
}
function cancel(){
arrayPerson.length=0;
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
// Glass.hide();
}
function showLinkManBox(blinkman){
arrayPerson.length=0;
//Glass.show();
$('#linkman').css('display','block');
$("#linkman_BAA").empty();
doLoadTreeNode('0');
//$('#linkmanbtn').click(function() {notarize(blinkman);});
// debugger;
document.getElementById("linkmanbtn").onclick = function(){
notarize(blinkman);};
}
//=====================================tree.js 移到writemail.js end=================
css
.tree_A{width:200px;height: 25px;float: left;cursor: pointer; }
.tree_AA{width:11px;height: 11px;float: left;margin-top:6px;background: url("../images/linktree/a.gif") no-repeat;}
.tree_AB{width:11px;height: 11px;float: left;margin-top:6px;background: url("../images/linktree/b.gif") no-repeat;}
.tree_AC{width:11px;height: 11px;float: left;margin-top:6px;background: url("../images/linktree/c.gif") no-repeat;}
.tree_AD{width: auto;height: 25px;line-height: 25px;float: left;margin-left: 5px;display: inline;}
.tree_AE{width:atuo;height: auto;float: left;margin-left:10px; display: inline; }
.tree_AF{padding-left:10px;height: 25px;overflow: hidden;display: block;line-height: 25px;text-align: left; text-decoration:none;}
.button_linkman{width: 50px;height: 20px;float: right;margin: 5px 5px 0px 5px;display: inline;}
.tree_AG{width: 130px;height: 25px;overflow: hidden;display: block;line-height: 25px;padding-left:10px;}
.tree_AF span{
width:20px;height:13px;text-align:right;
}
封装成对象:
//=====================================tree.js 移到writemail.js begin=================
Tree = function(){
this.fdorgCache = [];//组织结构缓存对象
this.arrayPerson=[]; //存储选中的人员
this.linkmanCache = []; //联系人缓存对象
}
Tree.prototype = {
//获得公司组织结构数据
doLoadTreeNode : function(pid) {
var _this=this;
//从缓存数据中获取数据
if(_this.fdorgCache[pid]){
_this.orgHandleResult(_this.fdorgCache[pid], pid);
return ;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getorgs",
data: "pid="+pid,
async: false,
dataType: 'json',
success: function(data, textStatus) {
//缓存数据
_this.fdorgCache[pid] = data;
_this.orgHandleResult(data, pid);
}
});
},
//结果组织结构树处理
orgHandleResult : function(data, pid){
var treeHtml=this.doCreateTree(data);
if(pid == 0){
$("#linkman_BAA").append(treeHtml);
}else{
var id=pid.replace(/\./gi,"");
$("#"+id+"_1").after(treeHtml);
}
},
//构造树
doCreateTree : function(data){
var _this = this;
var array=[];
array.push("<div class='tree_AE' id='");
array.push(data[0][1].replace(/\./gi,""));
array.push("'>");
for(var i=0,l=data.length;i<l;i++){
var name = data[i][2];
var dept = data[i][0];
var id=dept.replace(/\./gi,"");
if(data[i][3] == null){
array.push("<div class='tree_A' onclick=\"_tree.doLoadPerson('");
array.push(dept);
array.push("')\"><div class='tree_AC'>");
array.push("</div><div class='tree_AD' id='");
array.push(id);
array.push("_111' >[");
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}else{
array.push("<div class='tree_A' id='");
array.push(id);
array.push("_1'><div class='tree_AA' onclick=\"_tree.doLoadTreeSubNode('");
array.push(dept);
array.push("')\" ");
array.push("id='");
array.push(id);
array.push("_11'></div><div class='tree_AD' id='");
array.push(id);
array.push("_111' onclick=\"_tree.doLoadPerson('");
array.push(dept);
array.push("')\">[")
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}
}
array.push("</div>");
return array.join("");
},
//当点击父节点触发事件
doLoadTreeSubNode : function(pid){
var id=pid.replace(/\./gi,"");
if($("#"+id+"_11").attr("class") == "tree_AA"){
$("#"+id+"_11").attr("class","tree_AB");
this.doLoadTreeNode(pid);
$("#"+id).css("margin-left","20");
}else{
$("#"+id+"_11").attr("class","tree_AA");
$("#"+id).remove();
}
},
//当点击叶子节点触发事件
doLoadPerson : function(pid){
var _this = this;
var id=pid.replace(/\./gi,"");
$("#linkman_BAA .tree_sel").attr("class","tree_AD");
$("#"+id+"_111").attr("class","tree_sel");
if(this.linkmanCache[pid]){
_this.showLinkmanHandle(this.linkmanCache[pid]);
return;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getpersons",
data: "groups="+pid,
dataType: 'json',
success: function(data, textStatus) {
_this.showLinkmanHandle(data);
_this.linkmanCache[pid] = data;
}
});
},
//获得某组的成员
showLinkmanHandle : function(data) {
var person = [];
$("#linkman_BA").empty();
for (var i = 0, l = data.length; i < l; i++) {
person.push("<a href='javascript:void(0);' class='tree_AF' id='"+data[i][0]+"' onclick=\"_tree.onSelectPerson('"+data[i][1]+"','"+data[i][0]+"',this.id)\">");
person.push(data[i][0]+" "+data[i][1]+"</a>");
}
$("#linkman_BA").append(person.join(""));
person = null;
},
//选择要发送人
onSelectPerson : function(person,userID,obj){
var flag=true;
for(var i=0,l = this.arrayPerson.length;i < l;i++){
if(userID == this.arrayPerson[i]){
flag=false;
}
}
if(flag){
this.arrayPerson.push(userID);
$("#person").append("<div id='"+userID+"1' class='tree_AG' onclick=\"_tree.delPerson('"+person+"','"+userID+"')\"><a href='javascript:void(0);' style='width:auto;height:auto;float:left;text-decoration: none;'>"+userID+" "+person+"</a><a href=\"javascript:void(0);\" class=\"photo_AB\" style=\"width:16px;height:16px;float:right;background: url('/webmail/resources/editor/cross.gif');\"></a></div>");
}
$("#linkman_BA > a").remove("#"+obj);
},
//删除选中的人
delPerson :function(person,userID){
$("#person > div").remove("#"+userID+"1");
$("#linkman_BA").append("<a href='javascript:void(0);' class='tree_AF' id='"+userID+"' onclick=\"_tree.onSelectPerson('"+person+"','"+userID+"',this.id)\">"+userID+" "+person+"</a>");
var tempArray = [];
for(var i=0,l = this.arrayPerson.length;i<l;i++){
if( userID!= this.arrayPerson[i]){
tempArray.push(this.arrayPerson[i]);
}
}
this.arrayPerson = tempArray;
tempArray = null;
},
//确定
notarize : function(recv){
if(recv == true){
var receiver=$.trim($("#receiver").val());
if(receiver ==""){
$("#receiver").val(this.arrayPerson.join(","));
}else{
var a=receiver.split(",");
for(var i=0,l1=this.arrayPerson.length;i<l1;i++){
var flag=true;
for(var x = 0,l2 = a.length;x<l2;x++){
if(this.arrayPerson[i] == a[x]){
flag=false;
break;
}
}
if(flag){
receiver=receiver+","+this.arrayPerson[i];
}
}
$("#receiver").val(receiver);
}
}else{
var receiver=$.trim($("#ccPsn").val());
if(receiver ==""){
$("#ccPsn").val(this.arrayPerson.join(","));
}else{
var a=receiver.split(",");
for(var i=0,l1=this.arrayPerson.length;i<l1;i++){
var flag=true;
for(var x = 0,l2 = a.length;x<l2;x++){
if(this.arrayPerson[i] == a[x]){
flag=false;
}
}
if(flag){
receiver=receiver+","+this.arrayPerson[i];
}
}
$("#ccPsn").val(receiver);
}
}
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
// Glass.hide();
},
//取消
cancel : function(){
this.arrayPerson.length=0;
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
},
//收件人
showLinkManBox : function(blinkman){
var _this = this;
this.arrayPerson.length=0;
$('#linkman').css('display','block');
$("#linkman_BAA").empty();
this.doLoadTreeNode('0');
document.getElementById("linkmanbtn").onclick = function(){
_this.notarize(blinkman);
};
},
//抄送
ccLinkManBox : function(){
this.arrayPerson.length=0;
$('#ccman').css('display','block');
this.doLoadTreeNode('0');
}
}
var _tree = new Tree();
封装成jQuery插件:在附件中
var fdorgCache = [];//组织结构缓存对象
//获得公司组织结构数据
function doLoadTreeNode(pid) {
//从缓存数据中获取数据
if(fdorgCache[pid]){
orgHandleResult(fdorgCache[pid], pid);
return ;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getorgs",
data: "pid="+pid,
async: false,
dataType: 'json',
success: function(data, textStatus) {
//缓存数据
fdorgCache[pid] = data;
orgHandleResult(data, pid);
}
});
}
/**
* 结果组织结构树处理
* @param {} data
* @param {} pid
*/
function orgHandleResult(data, pid){
var treeHtml=doCreateTree(data);
if(pid == 0){
$("#linkman_BAA").append(treeHtml);
}else{
var id=pid.replace(/\./gi,"");
$("#"+id+"_1").after(treeHtml);
}
}
//构造树
function doCreateTree(data){
var array=[];
array.push("<div class='tree_AE' id='");
array.push(data[0][1].replace(/\./gi,""));
array.push("'>");
for(var i=0,l=data.length;i<l;i++){
var name = data[i][2];
var dept = data[i][0];
if(data[i][3] == null){
array.push("<div class='tree_A' onclick=\"doLoadPerson('");
array.push(dept);
array.push("')\"><div class='tree_AC'>");
array.push("</div><div class='tree_AD'>[");
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}else{
var id=dept.replace(/\./gi,"");
array.push("<div class='tree_A' id='");
array.push(id);
array.push("_1'><div class='tree_AA' onclick=\"doLoadTreeSubNode('");
array.push(dept);
array.push("')\" ");
array.push("id='");
array.push(id);
array.push("_11'></div><div class='tree_AD' id='");
array.push(id);
array.push("_111' onclick=\"doLoadPerson('");
array.push(dept);
array.push("')\">[")
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}
}
array.push("</div>");
return array.join("");
}
//当点击父节点触发事件
function doLoadTreeSubNode(pid){
var id=pid.replace(/\./gi,"");
if($("#"+id+"_11").attr("class") == "tree_AA"){
$("#"+id+"_11").attr("class","tree_AB");
doLoadTreeNode(pid);
$("#"+id).css("margin-left","20");
}else{
$("#"+id+"_11").attr("class","tree_AA");
$("#"+id).remove();
}
}
var arrayPerson=[];
var linkmanCache = []; //联系人缓存对象
//当点击叶子节点触发事件
function doLoadPerson(pid){
if(linkmanCache[pid]){
showLinkmanHandle(linkmanCache[pid]);
return;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getpersons",
data: "groups="+pid,
dataType: 'json',
success: function(data, textStatus) {
showLinkmanHandle(data);
linkmanCache[pid] = data;
}
});
}
function showLinkmanHandle(data) {
var person = [];
$("#linkman_BA").empty();
for (var i = 0, l = data.length; i < l; i++) {
person.push("<a href='javascript:void(0);' class='tree_AF' id='"+data[i][0]+"' onclick=\"onSelectPerson('"+data[i][1]+"','"+data[i][0]+"',this.id)\">");
person.push(data[i][0]+" "+data[i][1]+"</a>");
}
$("#linkman_BA").append(person.join(""));
person = null;
}
function onSelectPerson(person,userID,obj){
var flag=true;
for(var i=0,l = arrayPerson.length;i < l;i++){
if(userID == arrayPerson[i]){
flag=false;
}
}
if(flag){
arrayPerson.push(userID);
$("#person").append("<div id='"+userID+"1'class='tree_AG' onclick=\"delPerson('"+person+"','"+userID+"')\"><a href='javascript:void(0);' style='width:auto;height:auto;float:left;text-decoration: none;'>"+userID+" "+person+"</a><a href=\"javascript:void(0);\" class=\"photo_AB\" style=\"width:16px;height:16px;float:right;background: url('/webmail/resources/editor/cross.gif');\"></a></div>");
}
$("#linkman_BA > a").remove("#"+obj);
}
function delPerson(person,userID){
$("#person > div").remove("#"+userID+"1");
$("#linkman_BA").append("<a href='javascript:void(0);' class='tree_AF' id='"+userID+"' onclick=\"onSelectPerson('"+person+"','"+userID+"',this.id)\">"+userID+" "+person+"</a>");
var tempArray = [];
for(var i=0,l = arrayPerson.length;i<l;i++){
if( userID!= arrayPerson[i]){
tempArray.push(arrayPerson[i]);
}
}
arrayPerson = tempArray;
tempArray = null;
}
function notarize(){
var receiver=$.trim($("#receiver").val());
if(receiver ==""){
$("#receiver").val(arrayPerson.join(","));
}else{
var a=receiver.split(",");
for(var i=0,l1=arrayPerson.length;i<l1;i++){
var flag=true;
for(var x = 0,l2 = a.length;x<l2;x++){
if(arrayPerson[i] == a[x]){
flag=false;
break;
}
}
if(flag){
receiver=receiver+","+arrayPerson[i];
}
}
$("#receiver").val(receiver);
}
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
// Glass.hide();
}
function cancel(){
arrayPerson.length=0;
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
// Glass.hide();
}
function showLinkManBox(blinkman){
arrayPerson.length=0;
//Glass.show();
$('#linkman').css('display','block');
$("#linkman_BAA").empty();
doLoadTreeNode('0');
//$('#linkmanbtn').click(function() {notarize(blinkman);});
// debugger;
document.getElementById("linkmanbtn").onclick = function(){
notarize(blinkman);};
}
//=====================================tree.js 移到writemail.js end=================
css
.tree_A{width:200px;height: 25px;float: left;cursor: pointer; }
.tree_AA{width:11px;height: 11px;float: left;margin-top:6px;background: url("../images/linktree/a.gif") no-repeat;}
.tree_AB{width:11px;height: 11px;float: left;margin-top:6px;background: url("../images/linktree/b.gif") no-repeat;}
.tree_AC{width:11px;height: 11px;float: left;margin-top:6px;background: url("../images/linktree/c.gif") no-repeat;}
.tree_AD{width: auto;height: 25px;line-height: 25px;float: left;margin-left: 5px;display: inline;}
.tree_AE{width:atuo;height: auto;float: left;margin-left:10px; display: inline; }
.tree_AF{padding-left:10px;height: 25px;overflow: hidden;display: block;line-height: 25px;text-align: left; text-decoration:none;}
.button_linkman{width: 50px;height: 20px;float: right;margin: 5px 5px 0px 5px;display: inline;}
.tree_AG{width: 130px;height: 25px;overflow: hidden;display: block;line-height: 25px;padding-left:10px;}
.tree_AF span{
width:20px;height:13px;text-align:right;
}
封装成对象:
//=====================================tree.js 移到writemail.js begin=================
Tree = function(){
this.fdorgCache = [];//组织结构缓存对象
this.arrayPerson=[]; //存储选中的人员
this.linkmanCache = []; //联系人缓存对象
}
Tree.prototype = {
//获得公司组织结构数据
doLoadTreeNode : function(pid) {
var _this=this;
//从缓存数据中获取数据
if(_this.fdorgCache[pid]){
_this.orgHandleResult(_this.fdorgCache[pid], pid);
return ;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getorgs",
data: "pid="+pid,
async: false,
dataType: 'json',
success: function(data, textStatus) {
//缓存数据
_this.fdorgCache[pid] = data;
_this.orgHandleResult(data, pid);
}
});
},
//结果组织结构树处理
orgHandleResult : function(data, pid){
var treeHtml=this.doCreateTree(data);
if(pid == 0){
$("#linkman_BAA").append(treeHtml);
}else{
var id=pid.replace(/\./gi,"");
$("#"+id+"_1").after(treeHtml);
}
},
//构造树
doCreateTree : function(data){
var _this = this;
var array=[];
array.push("<div class='tree_AE' id='");
array.push(data[0][1].replace(/\./gi,""));
array.push("'>");
for(var i=0,l=data.length;i<l;i++){
var name = data[i][2];
var dept = data[i][0];
var id=dept.replace(/\./gi,"");
if(data[i][3] == null){
array.push("<div class='tree_A' onclick=\"_tree.doLoadPerson('");
array.push(dept);
array.push("')\"><div class='tree_AC'>");
array.push("</div><div class='tree_AD' id='");
array.push(id);
array.push("_111' >[");
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}else{
array.push("<div class='tree_A' id='");
array.push(id);
array.push("_1'><div class='tree_AA' onclick=\"_tree.doLoadTreeSubNode('");
array.push(dept);
array.push("')\" ");
array.push("id='");
array.push(id);
array.push("_11'></div><div class='tree_AD' id='");
array.push(id);
array.push("_111' onclick=\"_tree.doLoadPerson('");
array.push(dept);
array.push("')\">[")
array.push(dept);
array.push("]");
array.push(name);
array.push("</div></div>");
}
}
array.push("</div>");
return array.join("");
},
//当点击父节点触发事件
doLoadTreeSubNode : function(pid){
var id=pid.replace(/\./gi,"");
if($("#"+id+"_11").attr("class") == "tree_AA"){
$("#"+id+"_11").attr("class","tree_AB");
this.doLoadTreeNode(pid);
$("#"+id).css("margin-left","20");
}else{
$("#"+id+"_11").attr("class","tree_AA");
$("#"+id).remove();
}
},
//当点击叶子节点触发事件
doLoadPerson : function(pid){
var _this = this;
var id=pid.replace(/\./gi,"");
$("#linkman_BAA .tree_sel").attr("class","tree_AD");
$("#"+id+"_111").attr("class","tree_sel");
if(this.linkmanCache[pid]){
_this.showLinkmanHandle(this.linkmanCache[pid]);
return;
}
$.ajax({
type: "POST",
url: "/webmail/module/contacts.do?method=getpersons",
data: "groups="+pid,
dataType: 'json',
success: function(data, textStatus) {
_this.showLinkmanHandle(data);
_this.linkmanCache[pid] = data;
}
});
},
//获得某组的成员
showLinkmanHandle : function(data) {
var person = [];
$("#linkman_BA").empty();
for (var i = 0, l = data.length; i < l; i++) {
person.push("<a href='javascript:void(0);' class='tree_AF' id='"+data[i][0]+"' onclick=\"_tree.onSelectPerson('"+data[i][1]+"','"+data[i][0]+"',this.id)\">");
person.push(data[i][0]+" "+data[i][1]+"</a>");
}
$("#linkman_BA").append(person.join(""));
person = null;
},
//选择要发送人
onSelectPerson : function(person,userID,obj){
var flag=true;
for(var i=0,l = this.arrayPerson.length;i < l;i++){
if(userID == this.arrayPerson[i]){
flag=false;
}
}
if(flag){
this.arrayPerson.push(userID);
$("#person").append("<div id='"+userID+"1' class='tree_AG' onclick=\"_tree.delPerson('"+person+"','"+userID+"')\"><a href='javascript:void(0);' style='width:auto;height:auto;float:left;text-decoration: none;'>"+userID+" "+person+"</a><a href=\"javascript:void(0);\" class=\"photo_AB\" style=\"width:16px;height:16px;float:right;background: url('/webmail/resources/editor/cross.gif');\"></a></div>");
}
$("#linkman_BA > a").remove("#"+obj);
},
//删除选中的人
delPerson :function(person,userID){
$("#person > div").remove("#"+userID+"1");
$("#linkman_BA").append("<a href='javascript:void(0);' class='tree_AF' id='"+userID+"' onclick=\"_tree.onSelectPerson('"+person+"','"+userID+"',this.id)\">"+userID+" "+person+"</a>");
var tempArray = [];
for(var i=0,l = this.arrayPerson.length;i<l;i++){
if( userID!= this.arrayPerson[i]){
tempArray.push(this.arrayPerson[i]);
}
}
this.arrayPerson = tempArray;
tempArray = null;
},
//确定
notarize : function(recv){
if(recv == true){
var receiver=$.trim($("#receiver").val());
if(receiver ==""){
$("#receiver").val(this.arrayPerson.join(","));
}else{
var a=receiver.split(",");
for(var i=0,l1=this.arrayPerson.length;i<l1;i++){
var flag=true;
for(var x = 0,l2 = a.length;x<l2;x++){
if(this.arrayPerson[i] == a[x]){
flag=false;
break;
}
}
if(flag){
receiver=receiver+","+this.arrayPerson[i];
}
}
$("#receiver").val(receiver);
}
}else{
var receiver=$.trim($("#ccPsn").val());
if(receiver ==""){
$("#ccPsn").val(this.arrayPerson.join(","));
}else{
var a=receiver.split(",");
for(var i=0,l1=this.arrayPerson.length;i<l1;i++){
var flag=true;
for(var x = 0,l2 = a.length;x<l2;x++){
if(this.arrayPerson[i] == a[x]){
flag=false;
}
}
if(flag){
receiver=receiver+","+this.arrayPerson[i];
}
}
$("#ccPsn").val(receiver);
}
}
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
// Glass.hide();
},
//取消
cancel : function(){
this.arrayPerson.length=0;
$('#linkman').css('display','none');
$("#linkman_BA").empty();
$("#person").empty();
},
//收件人
showLinkManBox : function(blinkman){
var _this = this;
this.arrayPerson.length=0;
$('#linkman').css('display','block');
$("#linkman_BAA").empty();
this.doLoadTreeNode('0');
document.getElementById("linkmanbtn").onclick = function(){
_this.notarize(blinkman);
};
},
//抄送
ccLinkManBox : function(){
this.arrayPerson.length=0;
$('#ccman').css('display','block');
this.doLoadTreeNode('0');
}
}
var _tree = new Tree();
封装成jQuery插件:在附件中
- img.rar (1.5 KB)
- 下载次数: 43
- jquery.dtree.1.0.0.rar (24 KB)
- 下载次数: 49
发表评论
文章已被作者锁定,不允许评论。
-
LABjs、RequireJS、SeaJS 哪个最好用?为什么?
2013-10-28 16:36 676LABjs 的核心是 LAB(Loadin ... -
正则表达式
2011-03-26 09:00 856正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入 ... -
offsetParent,parentNode,parentElement区别
2011-03-22 15:09 1326offsetParent 指与位置有关的上级元素 pare ... -
js中的preventDefault和stopPropagation
2011-01-07 13:57 1025首先讲解一下js中preventDefault和stopP ... -
javascrip编码(escape(), encodeURL(), encodeURIComponent())
2010-10-27 10:04 1032escape() 方法: 采用ISO-Latin字符集对指定 ... -
splice() 方法
2010-03-15 10:56 975splice() 方法用于插入、删除或替换数组的元素。 语法 ... -
ajax的原理和运行机制
2010-03-12 17:36 886关于ajax,是最近炒得非常火的一种技术,并且时下它也是非常流 ... -
HTML文档中小meta的大作用
2010-01-25 10:37 722meta 是用来在HTML文档中 ... -
JavaScript的陷阱
2010-01-22 13:38 782区分大小写 变量名和 ... -
连续字符自动换行的解决方案
2010-01-21 11:58 882http://dancewithnet.com/2008/12 ... -
JS判断脚本是否加载完成
2010-01-21 11:29 17011.function include_js(file) { 2 ... -
JavaScript程序编码规范
2010-01-20 15:27 830JavaScript文件 JavaScript程 ... -
js的nextSibling
2010-01-13 11:28 2521nextSilbling 属性的作用是:直接返回一个节点之后的 ... -
Javascript去掉字符串前后空格
2010-01-07 10:20 1398给string类型添加方法 String.prototype ... -
javascript中的location.reload() 和 location.replace()的区别和应用
2010-01-06 17:42 2451首先介绍两个方法的语法: reload 方法,该方法强迫浏览 ... -
为什么尽量用局部变量代替全局变
2010-01-06 16:48 1096在如何提高JavaScript性能 ... -
javascript中substring()方法与substr()方法的区别
2010-01-06 16:45 21411 这两个方法都是String对象的方法 2 substr( ... -
关于IE和火狐下JS加载循序的问题
2009-12-16 10:42 1216FF是按照循序加载的,而IE却不是的,也就是说FF是同步加载, ... -
当嵌套iframe时,提供了一个统一的访问超时退出的UI界面
2009-12-16 09:04 3930Js代码:(来自Javaeye中的一段代码) functio ... -
js中 break和 continue区别
2009-11-25 11:46 3928例子: <html> <body&g ...
相关推荐
标题 "JS 动态树 异步加载树 xloadtree WebFXLoadTree" 指的是在JavaScript中实现的一种特定的树形结构组件,它具备动态加载和异步数据获取的功能。这种技术常用于构建大型数据集的层级展示,如文件系统、组织结构或...
在IT行业中,构建用户友好的界面是至关重要的,特别是对于数据层次结构的展示,树形菜单扮演了...在实际项目中,这种技术组合广泛应用在权限管理、文件系统、组织结构等场景,充分展示了现代Web应用的灵活性和互动性。
**dtree+ajax异步加载树详解** 在Web开发中,数据展示往往涉及到大量的层级结构,如文件系统、组织架构等。dtree是一款基于JavaScript的树形控件,它能够帮助开发者实现动态、交互式的树状菜单。而Ajax...
在本文中,我们将深入探讨jQuery EasyUI中的Tree组件以及如何实现树形列表节点的异步加载。EasyUI是一个基于jQuery的轻量级前端框架,它提供了丰富的UI组件,包括我们这里关注的Tree组件。异步加载是提升用户体验的...
TreeView是一种常见的UI元素,它通常用于展示层次结构的数据,如文件系统、组织结构等。在网页应用中,TreeView插件能够以树形结构呈现数据,用户可以通过展开和折叠节点来探索内容。异步加载树则是在用户需要时才从...
在 Web 开发中,它经常被用来展示目录结构、组织架构或者复杂的分类数据。异步加载树型是 ExtJS Tree 的一个重要特性,允许只在需要时动态加载子节点,从而提高页面的加载速度和用户体验。 异步加载通常通过 AJAX ...
【zTree异步加载Demo】是一个基于SpringMVC框架和MySQL数据库实现的示例,它展示了如何使用zTree这一流行的JavaScript树形插件进行异步数据加载。zTree是一款功能强大的jQuery插件,广泛用于构建多级目录结构,如...
ASP.NET的TreeView控件是一个非常有用的UI元素,用于呈现层次结构的数据,比如文件系统、组织结构或数据库中的数据。在一些场景下,由于数据量大或者为了提高用户体验,我们可能会选择异步加载(Ajax)的方式来加载...
【标题】"ztree异步加载demo(有说明文档)" 涉及到的知识点主要围绕着ZTree,这是一个非常流行的JavaScript组件,主要用于构建树形结构的界面,尤其适用于网站导航、文件目录管理和组织结构展示等场景。异步加载是...
总结,这个React异步加载示例涵盖了状态管理、事件监听、Ajax请求和自动化构建等核心概念,同时展示了如何组织一个React项目的文件结构。通过理解和实践这些知识点,开发者能够创建出更高效、用户体验更好的React...
《jQuery异步treeTable...3. 灵活的数据源:可以对接各种后端数据接口,如JSON、Ajax等,实现异步加载。 二、基本使用步骤 1. 引入依赖库:在HTML文件中引入jQuery库和treeTable插件的JavaScript及CSS文件。 ```html ...
本文将深入探讨如何使用Requirejs实现对Dojo 1.6版本的异步加载,并在Tomcat 6服务器环境下运行。 ### Requirejs:模块加载器 Requirejs是由James Burke创建的一个JavaScript库,它的主要功能是解决JavaScript的...
在计算机科学中,树是一种非常重要的数据结构,它模拟了现实世界中的层次关系,广泛应用于文件系统、数据库索引、图形结构以及JavaScript等编程语言中。"树及异步树"这一主题涉及到如何在JavaScript(JS)环境中构建...
`TreeView`控件允许你添加、删除和操作节点,以及自定义节点的显示样式,非常适合构建组织结构树。 2. **数据绑定**: 要填充`TreeView`控件,通常需要将数据源(如数据库中的员工信息)与控件绑定。你可以使用`...
1. **异步加载树结构**: 异步树结构主要应用于那些数据量大或者层级深的场景,避免一次性加载所有节点导致页面卡顿。EasyUI 提供了两种主要的异步树组件:`combotree` 和 `treegrid`。 2. **Combotree(树形...
在本场景中,我们将探讨如何利用递归、easyUI和Servlet来实现异步加载树形结构的数据。EasyUI是一个基于jQuery的前端框架,提供丰富的组件,包括我们这里提到的树形控件。而Servlet是Java Web开发中的服务器端组件,...
zTree提供了丰富的API接口,用于在程序中动态操作树结构,如: - `treeObj.selectNode(node, isSilent)`:选择或取消选择指定节点。 - `treeObj.expandNode(node, expandFlag, isSilent, isAnimate)`:展开或折叠...
在组织架构图的应用场景中,由于组织结构可能包含许多层级和节点,一次性加载所有数据可能会导致页面响应慢,用户体验下降。因此,我们通常选择只加载当前视图所需的数据,其余数据在用户滚动或展开节点时按需加载。...
这个"安卓多级树形列表(最大同时异步加载60万条数据)"项目针对这一问题进行了深度优化,提供了强大的功能和良好的用户体验。 首先,我们要理解多级树形列表的核心原理。在Android中,这种列表通常通过递归实现,每...