8月20日 仿163邮箱中遇到的问题及解决(二)
在操作过程中遇到的难点:
1.写信中收件人以弹窗形式显示(仿163样式)
解决方法:
1.点击收件人时,弹框弹出,将得到的数据处理成自己想用的方式,为html赋值,html就是弹框中的内容(橘色),这部分比较容易,一般都能做出,难点在于当点击左边的联系人时,该联系人出现在右侧,再次点击相同联系人时不重复。解决问题的方法就是写了一个去重的方法(字体为绿色的部分),比较左侧点击的联系人的值与右边已经存在的联系人的值,如果相同,执行中止,如果不同,将该联系人放入右边。点击左侧联系人时调用该方法去重。
$("#yh").click(function(){
$.ajax({
url:"tongxun.php",
dataType:"TEXT",
success: function(data){
var hang = data.split("|");
str="";
for(var i=0; i<hang.length;i++)
{
var lie = hang[i].split("^");
str += "<div class='lx' qb='"+lie[0]+"' lx='0'>"+lie[1]+"</div>";
}
var html="<div id='panel'><div id='panel3'>所有联系人</div><div id='panel4'>收件人(<span id='panel5'>0</span>)<span id='quanbu'>移除全部</span></div><div class='panel panel-default' id='panel1'><div class='panel-body'> "+str+"</div></div>"+"<div id='zhong'><img id='img' src='Public/IMG/jiantou.png' /></div>"+"<div class='panel panel-default' id='panel2'><div class='panel-body' id='panel6'></div></div><div id='h'><hr /></div><button type='button' class='btn btn-success' id='btna'>确定</button><button type='button' class='btn btn-default' id='btnb'>取消</button></div>";
var win = new Window({
width: 475, //宽度
height: 475, //高度
title: '快速添加收信人', //标题
content: html, //内容
isMask: true, //是否遮罩
isDrag:true,
})
$(".lx").mouseover(function(){
$(this).css("background-color","#DEE6E8");
})
$(".lx").mouseleave(function(){
$(this).css("background-color","#FAFAFA");
})
$(".lx").click(function(){
var qd=$(this).text();
ab = $(this).attr("qb");
$("#quanbu").css("display","block");
if(Has(qd))
{
str = "<div class='yc' bs='"+ab+"' >"+qd+"</div>";
$("#panel6").append(str);
var shu = $(".yc").length;
$("#panel5").html(shu);
//移除
$(".yc").click(function(){
$(this).remove();
var shu = $(".yc").length;
$("#panel5").html(shu);
})
//全部移除
$("#quanbu").click(function(){
$(".yc").remove();
var shu = $(".yc").length;
$("#panel5").html(shu);
})
//取消
$("#btnb").click(function(){
$(".zhuti").remove();
$('#zz').remove();
})
//确定
$("#btna").click(function(){
yc = $(".yc");
str="";
for(var i=0;i<yc.length;i++)
{
str +=yc.eq(i).text()+",";
}
str = str.substring(0,str.length-1);
$("#name").val(str);
})
}
//去重
function Has(zhi)
{
var sl = $(".yc");
var iscunzai=true;
for(var i=0;i<sl.length;i++)
{
if(sl.eq(i).text()==zhi)
{
iscunzai=false;
break;
}
}
return iscunzai;
}
})
}
});
})
示例:

点击左侧联系人时:

再次点击左侧相同联系人时,右侧不添加


浙公网安备 33010602011771号