如何实现JS仿QQ邮箱收件人选择和搜索
导语:通过下面教程的学习,大家可以掌握如何实现JS仿QQ邮箱收件人选择和搜索,更多详情请关注应届毕业生考试网。
页面截图:
主要html代码:
<#--左侧-->
<p>
<label>To:</label>
<p id="ptxt" class="mailtxt_p"></p>
<input type="hidden" name="messName" id="messName"/>
<input type="hidden" name="messId" id="messId"/>
</p>
<p>
<label>Subject:</label>
<input type="text" name="messTitle" id="messTitle"/>
</p>
<p>
<label>Message:</label>
<textarea name="ddContent" id="ddContent"></textarea>
</p>
<#--右侧-->
<p>
<input calss="search_mail" type="text" value="Search Contact..." onclick="if(e==
'Search Contact...')e='';" onblur="if(e=='')e='Search Contact...';"
name="txtsearch" />
<p><img src="/images/email03.png" /></p>
</p>
<p class="mailclist">
<ul>
<li>
<p class="firstmail" title="Cata food, S.L." "
ass="Cata food, S.L.">Cata food, S.L.</p>
</li>
<li>
<p class="firstmail" title="Anqing Beverage" "
ass="Anqing Beverage">Anqing Beverage</p>
</li>
<li>
<p class="firstmail" title="123456ew" "
ass="123456ew">123456ew</p>
</li>
</ul>
</p>
主要js实现代码:
<script type="text/javascript">
$(function(){
//点击收件人列表到收件人
$("tmail")("click",function(){
var $mailTo=$(this)("ass");//收件人名称
var $mailToId=$(this)("alt");//收件人Id
var $ptxt_val=$("#ptxt")();//收件人框中的值
var $messId=$("#messId")();//隐藏的收件人Id
if($ptxt_xOf($mailTo)<0){//若不存在,则拼接
$("#ptxt")nd("<span class='rece' alt='"+$mailToId+";'>"
+$mailTo+";"+"</span>");
$messId=$messId+$mailToId+";";
}
$("#messId")($messId);
$("#messName")($("#ptxt")());//隐藏的`收件人名称
});
//点击某个收件人,添加样式
$("")("click",function(){
$("#ptxt")("")veClass("on");
$("#ptxt")("")("background-color","")("color","")
$(this)lass("on")("background-color", "#545f59")("color","#fff");
});
//点击删除键跟退格键,删除对应的收件人
$(document)('keydown',
function(event) {
var $messId=$("#messId")();//收件人Id的值
var $span_alt=$("#ptxt ")("alt");//选中的收件人
if($span_alt != null){
var $index,$span_size,$mess_size,$val;
$index=$xOf($span_alt);
$span_size=$span_th;
$mess_size=$th;
//删除对应的收件人Id
$val=$tring(0,$index)
+$tring($index+$span_size,$mess_size);
$("#messId")($val);
if(46==ode ){ //Delete键
$("#ptxt ")ve();
$("#messName")($("#ptxt")());
}else if(8==ode){//退格键
$("#ptxt ")ve();
$("#messName")($("#ptxt")());
return false;
}
}
}
);
//搜索框搜索事件
$("ch_mail")("blur",function(){
var content = $(this)();
if("Search Contact..." != content && content !=""){
$("clist li p")(function(){
var name = $(this)();
if(xOf(content) == -1){
$(this)();
}else{
$(this)();
}
});
} else {
$("clist li p")();
}
});
});
</script>
-
2017年3月计算机二级Java基础知识习题
学习是把知识能力思维方法等转化为你的私有产权的重要手段,是“公有转私”的重要途径。以下是本站小编汇总的2017年3月计算机二级Java基础知识习题,欢迎学习!1、结构化程序设计主要强调的是______。A、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移...
-
21个java基本知识点
本文主要是一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。1.JVM相关(包括了各个版本的特性)对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很...
-
关于Java程序员面试中的多线程问题总结
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(CollectionsFramework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了Java线程方面一些典型的问题,这些问题经常被高级工程师所问到。0、Java中多线程同步是什么?在多线程程序下,同步能控...
-
编写更好的Java单元测试的7个技巧
测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运。良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机。虽然有三种主要类型的软件测试:单元测试,功能测试和集成测试,但是在这篇博文中,我们将讨论开发人员...