- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章js实现QQ邮箱邮件拖拽删除功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了js实现QQ邮箱邮件拖拽删除的具体代码,供大家参考,具体内容如下 。
步骤分析:
过程实现 。
HTML代码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<
body
>
<
div
class
=
"wrap"
id
=
"box"
>
<
header
class
=
"head clear"
>
<
h1
class
=
"left"
>
<
a
class
=
"logo"
href
=
"javascript:;"
></
a
>
|
<
a
href
=
"javascript:;"
>邮箱</
a
>
</
h1
>
<
nav
class
=
"left"
>
<
a
href
=
"javascript:;"
>邮箱首页</
a
>|<
a
href
=
"javascript:;"
>设置</
a
>
</
nav
>
<
p
class
=
"hint1 left"
></
p
>
<
p
class
=
"hint2 left"
></
p
>
</
header
>
<
div
class
=
"section clear"
>
<
div
class
=
"fuList left"
>
<
ul
class
=
"fuListBig"
>
<
li
class
=
"writeLetter"
>写信</
li
>
<
li
class
=
"collectLetter"
>收信</
li
>
<
li
class
=
"address"
>通讯录</
li
>
</
ul
>
<
ul
class
=
"fuListSmall"
>
<
li
class
=
"inbox active"
>收件箱</
li
>
<
li
class
=
"StarMail"
>星标邮件</
li
>
<
li
class
=
"groupMail"
>群邮件</
li
>
<
li
class
=
"draftBox"
>草稿箱</
li
>
<
li
class
=
"beenSent"
>已发送</
li
>
<
li
class
=
"beenDel hover"
>已删除<
a
class
=
"clearBtn"
href
=
"#"
>清空</
a
></
li
>
<
li
class
=
"dustbin"
>垃圾箱<
a
class
=
"clearBtn"
href
=
"#"
>清空</
a
></
li
>
</
ul
>
</
div
>
<
div
class
=
"tBody left"
>
<
div
class
=
"title"
>
收件箱(共96封,其中<
a
href
=
"javascript:;"
>未读邮件</
a
>9封)
</
div
>
<
div
class
=
"emailFunctions"
>
<
a
id
=
"delet"
href
=
"javascript:;"
>删除</
a
>
<
a
href
=
"javascript:;"
>彻底删除</
a
>
<
a
href
=
"javascript:;"
>转发</
a
>
<
a
href
=
"javascript:;"
>举报</
a
>
<
a
href
=
"javascript:;"
>全部标为已读</
a
>
<
a
class
=
"selectIcon"
href
=
"javascript:;"
>标记为...</
a
>
<
a
class
=
"selectIcon"
href
=
"javascript:;"
>移动到...</
a
>
</
div
>
<
div
class
=
"emailList"
id
=
"emailCheckList"
>
<
header
class
=
"emailHead"
>
<
input
type
=
"checkbox"
/>
<
p
><
span
></
span
><
span
></
span
></
p
>
</
header
>
<
ul
class
=
"emailListUl"
>
<!-- <li>
<input type="checkbox">
<div>
<span>秒味课堂1</span>
<span>2015-12-30</span>
</div>
<p>JS拖拽的进一步学习,移动与拉伸JS拖拽的进一步练习</p>
</li> -->
</
ul
>
</
div
>
</
div
>
</
div
>
</
div
>
<
div
id
=
"hint3"
style
=
"display:none;"
>选中2封邮件</
div
>
|
JS代码 。
这里需要引入碰撞函数检测的封装函数和数据,但在实际的应用一般是通过ajax从后台获取数据,所以此处就不在写模拟的数据,只记录一下我的写作步骤.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<script>
window.onload =
function
(){
//利用map方法和es6生成HTML结构
var
html = list.map(
function
(item){
return
`<li>
<input type=
"checkbox"
data-id =
"${item.id}"
>
<div>
<span>${item.caption}</span>
<span>${item.time}</span>
</div>
<p>${item.desc}</p>
</li>`
}).join(
' '
);
var
oEmailListUl = document.querySelector(
'.emailListUl'
);
oEmailListUl.innerHTML = html;
var
checkedAll = document.querySelector(
'.emailHead input'
);
var
checkSingle = oEmailListUl.querySelectorAll(
'input'
);
var
singleLen = checkSingle.length;
var
n = 0;
var
isAll =
true
;
checkedAll.onclick =
function
(){
//全选效果的实现
for
(
var
i=0; i<singleLen; i++){
checkSingle[i].checked =
this
.checked;
}
for
(
var
j=0; j<singleLen;j++){
//单选效果的实现
if
(
this
.checked) {
//如果取消选择,则将父级的颜色恢复为未选中状态的颜色
checkSingle[j].parentNode.style.background =
'#f2f6f9'
;
}
else
{
//如果选择,则将父级li的颜色变为选中的颜色
checkSingle[j].parentNode.style.background =
''
;
}
}
}
for
(
var
i=0; i<singleLen;i++){
checkSingle[i].onclick =
function
(){
if
(!
this
.checked){
//单击单选按钮时,如果是取消选择,则让全选的按钮也为未选中状态,否则的话如果是让其变为选中状态时,先要看看其他的单选按钮是不是也都是选中状态,如果是的话,就让全选按钮也成为选中状态
checkedAll.checked =
false
;
this
.parentNode.style.background =
''
;
}
else
{
this
.parentNode.style.background =
'#f2f6f9'
;
for
(
var
j=0; j<singleLen;j++){
if
(!checkSingle[j].checked){
isAll =
false
;
//只要有一个单选按钮是未选中状态,那么isAll就为false,所以全选按钮就不能是选中状态,如果,都是选中状态,那么,这段代码不执行,所以isAll还是true, 那么全选按钮就变为选中状态
}
}
if
(isAll){
checkedAll.checked =
true
;
}
}
}
}
function
checkInput(){
//将单选按钮中是选中状态的放入一个数组中
var
arr = [];
for
(
var
i=0; i<singleLen; i++){
if
(checkSingle[i].checked){
arr.push(checkSingle[i]);
}
}
return
arr;
}
//删除数据和结构
var
oDelet = document.querySelector(
'#delet'
);
oDelet.onclick =
function
(){
del();
}
function
del(){
var
select = checkInput();
for
(
var
i=0; i<select.length;i++){
//删除HTML结构中选中的input的父级
select[i].parentNode.remove();
//删除json中的数据
for
(
var
j=0; j<list.length;j++){
if
(list[j].id ==select[i].dataset.id){
list.splice(j,1);
}
}
}
}
var
tip = document.querySelector(
'#hint3'
);
var
aLi = document.querySelectorAll(
'.emailListUl li'
);
var
delx = document.querySelector(
'.beenDel'
);
var
m = 0;
for
(
var
i=0; i<aLi.length; i++){
aLi[i].onmousedown =
function
(){
var
isTr =
false
;
var
chInput =
this
.querySelector(
'input'
);
if
(!chInput.checked){
return
;
}
tip.style.display =
'block'
;
tip.innerHTML = `选中${checkInput().length-m}封邮件`;
//放入到数组中的数据是总共的数据,所以要先减去,上次删除的数据,才是这次要删除的数据
document.onmousemove =
function
(ev){
var
ev = event||ev;
ev.preventDefault();
//默认情况下,选中状态拖拽时,会选中浏览器中的文字,所以要取消默认事件
tip.style.left = ev.clientX + 1+
'px'
;
tip.style.top = ev.clientY + 1+
'px'
;
if
(collision(tip,delx)){
isTr =
true
;
}
}
document.onmouseup =
function
(ev){
tip.style.display =
'none'
;
if
(isTr){
del();
m=`${checkInput().length}`;
//记录总共删除的数据
}
document.onmousemove = document.onmouseup =
null
;
}
}
}
}
</script>
|
上面就是我的总结,有什么问题或疑问欢迎提问和赐教.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/lhjuejiang/article/details/79573263 。
最后此篇关于js实现QQ邮箱邮件拖拽删除功能的文章就讲到这里了,如果你想了解更多关于js实现QQ邮箱邮件拖拽删除功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想在文本区域中向许多其他用户发送电子邮件。在名为内容的文本区域中,如果我键入星号包围的“用户”,我想让它们填写每个电子邮件的用户名(“@”之前的文本)。每封电子邮件中的每个用户名都会产生很多不同。然
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Problem when loading php file into variable (Load resu
我正在从数据库中提取信息,并尝试将其作为电子邮件发送。将从数据库中拉取多行数据。这就是我的代码的样子... 所有的信息邮件都很好。我的问题是,我想保留中断。例如,在标题之后,我想中断一下,然后开始备
当我使用我们使用 java 邮件的门户发送 TEXT 电子邮件时没有问题,但是,当我选择放置 HTML 内容并发送电子邮件时,会引发以下警报。花了几个小时搜索但没有有用的答案! 谁能帮忙 电子邮件主题
我有这个类,它处理 gmail 的登录。无论我输入什么电子邮件和密码,程序都会返回 session 。我不明白如何在返回 session 对象之前检查登录是否成功。 package mailActio
我设置的短信作为文本文件附在信中。我不明白为什么会这样。 replied letter example public void sendEmail(MimeMessage message, Strin
所以我正在制作一个网络系统,这个想法是当用户关闭浏览器时它会向我发送一封电子邮件。目前,用户正在使用 Javascript Ajax 来让 PHP 更新数据库的当前时间。当时间超过 5 分钟时,我希望
我想发送邮件,当产品从之前、日期和之后过期时,在 php 中,我在 php 中使用了 datediff mysql 函数,但如果产品过期日期类似于 31-1-2012 ,则不同值是不适合我的编码,请帮
我正在尝试设置一个邮件脚本,该脚本将首先从 mysql 运行一个简单的选择,并在消息中使用这些数组变量。然而,所有的变量并没有输出到消息体,只有一行变量。这是我的脚本: $sql1 = "SE
我最近一直在努力研究这个问题。是否有我可以使用并添加到其中的 android API?我想为电子邮件应用程序制作一个插件,但我不想制作整个电子邮件应用程序。 我非常想要一些已经可以处理发送和接收电子邮
嗨 我有一个 PHP 西类牙文网站。在此邮件正文中包含一个主题“Solicitud de cotización”,但该主题出现在热门邮箱中,如 Solicitud de cotización 。但它在
我想写一个脚本,使用 php 自动向我的客户发送电子邮件 我如何自动发送它,例如,如果他们输入他们的电子邮件。然后点击提交 我想自动发送这封邮件 其次,我的主机上是否需要 smtp 服务器?我可以在任
今天早上我已经解决了一个问题: Java Mail, sending multiple attachments not working 这次我遇到了一个稍微复杂一点的问题:我想将附件和图片结合起来。
下面是用于连接 IMAP 文件夹并对其执行操作的代码。所以我的问题是关于 javax.mail.Session 的,在这种情况下它会每秒重新创建一次(取决于 checkInbox() 的 hibern
我正尝试按照 http://www.tutorialspoint.com/java/java_sending_email.htm 上的指南发送电子邮件 Java 应用程序 当我尝试运行它时,从上面的链
我有一个包含 2 列 email 和 id 的表格。我需要找到密切相关的电子邮件。例如: john.smith12@example.com 和 john.smith12@some.subdomains
首先是一些信息: Debian 压缩 PHP 5.3.3 带有 mod_cgi 的 PHP 在这种情况下,我绝对必须使用 mail()。对于我所有的其他项目,我已经使用 SMTP 邮件。 我已将站点超
在对电子邮件主机的联系表单进行故障排除时,他们告诉我在 php 邮件功能的发件人地址中使用“-f”。 “-f”标志的作用是什么?为什么它可以解决允许发送电子邮件的问题?我阅读了一些文档,但不是很清楚。
一个简单的问题:群发邮件哪个性能好? mail() 函数或sendmail 流行的 PHP 列表管理器包使用哪个? 最佳答案 嗯,mail() 函数并不适合批量发送电子邮件,因为它会为您发送的每封
我正在制作一个 PHP 表单,允许用户上传附件并将其发送到我的电子邮件。我一直在寻找很长一段时间才能做到。最后,我找到了这个。 http://www.shotdev.com/php/php-mail/
我是一名优秀的程序员,十分优秀!