未加星标

js仿QQ邮箱收件人选择与搜索功能

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

之前因为项目开发需要,对于收件人选择与搜索的js实现,整理如下:

页面截图:

js仿QQ邮箱收件人选择与搜索功能

主要html代码:

<#--左侧-->
<div>
<label>To:</label>
<div id="divtxt" class="mailtxt_div"></div>
<input type="hidden" name="messName" id="messName"/>
<input type="hidden" name="messId" id="messId"/>
</div>
<div>
<label>Subject:</label>
<input type="text" name="messTitle" id="messTitle"/>
</div>
<div>
<label>Message:</label>
<textarea name="ddContent" id="ddContent"></textarea>
</div>
<#--右侧-->
<div>
<input calss="search_mail" type="text" value="Search Contact..." onclick="if(this.value==
'Search Contact...')this.value='';" onblur="if(this.value=='')this.value='Search Contact...';"
name="txtsearch" />
<div><img src="/images/email03.png" /></div>
</div>
<div class="mailclist">
<ul>
<li>
<div class="firstmail" title="Cata food, S.L." alt="[email protected]"
ass="Cata food, S.L.">Cata food, S.L.</div>
</li>
<li>
<div class="firstmail" title="Anqing Beverage" alt="[email protected]"
ass="Anqing Beverage">Anqing Beverage</div>
</li>
<li>
<div class="firstmail" title="123456ew" alt="[email protected]"
ass="123456ew">123456ew</div>
</li>
</ul>
</div>

主要js实现代码:

<script type="text/javascript">
$(function(){
//点击收件人列表到收件人
$(".firstmail").bind("click",function(){
var $mailTo=$(this).attr("ass");//收件人名称
var $mailToId=$(this).attr("alt");//收件人Id
var $divtxt_val=$("#divtxt").text();//收件人框中的值
var $messId=$("#messId").val();//隐藏的收件人Id
if($divtxt_val.indexOf($mailTo)<0){//若不存在,则拼接
$("#divtxt").append("<span class='rece' alt='"+$mailToId+";'>"
+$mailTo+";"+"</span>");
$messId=$messId+$mailToId+";";
}
$("#messId").val($messId);
$("#messName").val($("#divtxt").text());//隐藏的收件人名称
});

//点击某个收件人,添加样式
$(".rece").live("click",function(){
$("#divtxt").find(".rece").removeClass("on");
$("#divtxt").find(".rece").css("background-color","").css("color","")
$(this).addClass("on").css("background-color", "#545f59").css("color","#fff");
});

//点击删除键跟退格键,删除对应的收件人
$(document).bind('keydown',
function(event) {
var $messId=$("#messId").val();//收件人Id的值
var $span_alt=$("#divtxt .on").attr("alt");//选中的收件人
if($span_alt != null){
var $index,$span_size,$mess_size,$val;
$index=$messId.indexOf($span_alt);
$span_size=$span_alt.length;
$mess_size=$messId.length;
//删除对应的收件人Id
$val=$messId.substring(0,$index)
+$messId.substring($index+$span_size,$mess_size);
$("#messId").val($val);
if(46==event.keyCode ){ //Delete键
$("#divtxt .on").remove();
$("#messName").val($("#divtxt").text());
}else if(8==event.keyCode){//退格键
$("#divtxt .on").remove();
$("#messName").val($("#divtxt").text());
return false;
}
}
}
);

//搜索框搜索事件
$(".search_mail").bind("blur",function(){
var content = $(this).val();
if("Search Contact..." != content && content !=""){
$(".mailclist li div").each(function(){
var name = $(this).text();
if(name.indexOf(content) == -1){
$(this).hide();
}else{
$(this).show();
}
});
} else {
$(".mailclist li div").show();
}
});
});
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: 删除
分页:12
转载请注明
本文标题:js仿QQ邮箱收件人选择与搜索功能
本站链接:http://www.codesec.net/view/534590.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(36)