当前位置: 首页 > 编程日记 > 正文

利用jQuery实现用户名片小动画

我爱撸码,撸码使我感到快乐!
大家好,我是Counter。下面给大家介绍利用jQuery实现的小动画,非常的简便,如果有原生js操作的话,那么就不止这么多行了。至于CSS,个人觉得,这边CSS布局也蛮重要的,所以有一些也加上了注释,主要为jQuery的注释,本节用到了jQuery的链式调用,以及事件委托代理,以及标签的动态生成。欢迎一起技术探讨,一起成长。
实现的效果: 当你点击屏幕出现的个人头像或者名字,都会缓慢向下出现个人简介,并且当你再次点击时个人简介收回去。当你点击上方的 + 时可以创建属于你自己的个人名片,并且是一定要输入名字和简介的否则不会生成名片,至于头像,可以通过网络上免费的头像来填入图像的url,好了,话不多说,上效果:

代码如下:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>test</title>
<!-- CSS样式 -->
<style>
/* 最完成div居中 */
.wrapper {
position: absolute;
left: 50%;
margin-left: -150px
}
.item {
width: 300px;
padding: 20px 0;
margin-top: 10px;
background-color: #bbb;
color: #fff;
border-radius: 20px;
cursor: pointer;
}
.item .img {
display: inline-block;
width: 50px;
height: 50px;
margin-left: 20px;
border-radius: 50%;
/* 使图片居中 */
vertical-align: middle;
overflow: hidden;
}
.img img {
width: 100%;
height: 100%
}
.item h3 {
display: inline-block;
margin-left: 20px;
}
.item p {
display: none;
margin: 20px;
/* 使长单词也能够换行 */
word-wrap: break-word;
}
/* 弹层充满第一屏 */
.hide {
display: none;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
}
.alert {
display: none;
position: absolute;
top: 50%;
left: 50%;
margin-left: -145px;
/* Y轴方向向上移动自身高度的一半 */
transform: translateY(-50%);
width: 250px;
padding: 20px;
border-radius: 20px;
background-color: #fff;
text-align: center;
/* 弹层位于所有基本元素上面 */
z-index: 1000;
}
.alert input {
width: 200px;
height: 30px;
margin: 20px 0;
border: none;
border-bottom: 1px solid #888;
outline: none;
color: #FF6700
}
.alert .ok {
width: 50px;
height: 50px;
margin-left: 100px;
border-radius: 50%;
background-color: #000;
color: #fff;
text-align: center;
line-height: 50px;
cursor: pointer;
}
.add {
width: 50px;
height: 50px;
margin: 0 auto;
text-align: center;
line-height: 50px;
background-color: #ccc;
color: #fff;
font-size: 20px;
border-radius: 50%;
cursor: pointer;
}
</style>
</head>
<body>
<div class="add">+</div>
<div class="wrapper">
<div class="item">
<div class="img">
<img src="http://img2.imgtn.bdimg.com/it/u=2060761043,284284863&fm=26&gp=0.jpg" alt="">
</div>
<h3>Counter</h3>
<p>Counter爱撸码,爱撸码,爱撸码,爱撸码,爱撸码,爱撸码,爱撸码,爱撸码,爱撸码,爱撸码,爱撸码。</p>
</div>
</div>
<!-- jQuery,已经引入在线载入,这边注释了 -->
<!-- <script src="../jquery-3.3.1.js"></script> -->
<script>
// 事件委托代理,如果绑定在现有dom基础上,那么将印象后面通过jQuery生成的dom,导致后面用户自己生成的名片点击不会出现和隐藏
$('body').on('click', '.item', function () {
$(this).find('p').slideToggle();
// 链式调用。// 事件委托代理,因为这边的弹层是用户点击添加时才加入到html当中,所有这边需要使用到事件代理,否则的话绑定在后来添加上的dom中不生效
}).on('click', '.ok', function () {
// 获取用户输入的值,然后插入到wrapper类名的元素中
var name = $('.yourName').val();
var img = $('.image-url').val();
var card = $('.yourCard').val();
// 判读如果用户输入的名字与简介不为空的话就创建用户名片
if (name != "" && card != "") {
var str = '<div class="item">\
<div class="img">\
<img src=" ' + img + ' " alt="">\
</div>\
<h3> ' + name + '</h3>\
<p>' + card + '</p>\
</div>'
$('.wrapper').append(str);
$('.hide').add('.alert').fadeOut();
// 退出后将输入框都设为空
$('.yourName').add('.image-url').add('.yourCard').val('');
}
// 否则弹窗提示用户
else {
$('.hide').add('.alert').fadeOut();
setTimeout(function () {
alert('请输入名字与简介!');
},500);
}
})

// 只点击一次触发,所以绑定one,没有必要每次点击,每次都生成一个弹层
$('.add').one('click', function () {
var str = '<div class="hide"></div>\
<div class="alert">\
<input class="yourName" type="text" placeholder="你的名字">\
<input class="image-url" type="text" placeholder="头像url">\
<input class="yourCard" type="text" placeholder="你的简介">\
<div class="ok">ok</div>\
</div>'
$('body').append(str);
// 链式调用。//每次点击弹层都是需要缓慢出现的
}).on('click', function () {
$('.hide').add('.alert').fadeIn();
})

</script>
</body>
</html>

转载于:https://www.cnblogs.com/Counterrr/p/10608015.html

相关文章:

Linux二进制导出配置文件,Go打包二进制文件的实现

背景众所周知&#xff0c;go语言可打包成目标平台二进制文件是其一大优势&#xff0c;如此go项目在服务器不需要配置go环境和依赖就可跑起来。操作需求&#xff1a;打包部署到centos7笔者打包环境&#xff1a;mac os方法&#xff1a;进入main.go所在目录&#xff0c;输入如下命…

crud springmvc

实体类&#xff1a;Student.java Java代码 package demo.entity; public class Student { private int id; private String name; private String sex; private String address; public int getId() { r…

从 Flutter 的视频渲染到 App 落地经验

3月23日周六&#xff0c;由 RTC 开发者社区主办的 “RTC Dev Meetup 北京站”如约举行&#xff0c;超过100位求知若渴的开发者参加了活动。来自 LeanCloud、声网 Agora、阿里、美团点评的资深工程师&#xff0c;与他们共同分享了 Flutter 开发中的实践经验。 我们在这里回顾一下…

screen命令

原文链接 screen其实就是linux虚拟终端&#xff0c;你可以用它创建很多虚拟终端&#xff0c;每个终端可以创建1~10个窗口&#xff0c;每个窗口相当于一个linux shell窗口&#xff0c;可以执行的操作和正常shell完全一样。 【终端操作】 &#xff08;需要在物理shell中操作&a…

linux 565显示格式,RGB565转BMP格式 C语言程序

#include#include#include#include"rgb2bmp.h"int RGB2BMP(char *,int ,int ,FILE *);int main(int argc,char *argv[]){double num_tmp 0;FILE *p;/*************** input data ***********filename :RGB数据文件名称nWidth :所生成文件的水平像素n…

Spring Boot @ConfigurationProperties使用指导

1.简介 Spring Boot的一个非常有用的功能是外部化配置&#xff0c;并且可以轻松访问属性文件中定义的属性。 我们现在将详细地探索ConfigurationProperties注释。 2.设置 本文使用相当标准的设置。我们首先在我们的pom.xml中添加spring-boot-starter-parent作为父项&#xff1a…

UVA 10494 - If We Were a Child Again(高精度除法和取余)

题目链接&#xff1a;http://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem1435 这个题做的好没状态。上几天刷的高精度都白刷了啊。。。首先代码除法和取余以前都做过&#xff0c;还要查看以前的代码&#xff0c;模板还…

python显示当前时间

import time time.strftime("%Y%m%d %X", time.localtime()) #当前时区 time.strftime("%Y%m%d %X", time.gmtime(time.time()))#0时区 下面是format字符串的解释&#xff1a; strftime(format[, tuple]) -> string 将指定的struct_time(默认为当前时间…

linux系统 插优盘安装xvidcap,linux下的视频录制软件xvidcap

1.xvidcap简介在linux如果我们想要进行视频录制&#xff0c;那么xvidcap是一个不错的选择。Xvidcap 是一个可将屏幕上的操作过程录制下来并保存为视频的小工具。对于需要制作产品演示和教学的朋友来说&#xff0c;这个屏幕录像机十分实用。Xvidcap 支持生成 avi、mpeg、asf、fl…

ASP.NET Cookie

最经在使用Cookie的过程中遇到了一些疑问&#xff0c;查阅参考MSDN&#xff0c;记录Cookie相关知识点 什么是Cookie Cookie是一小段文本信息&#xff0c;伴随着用于的请求和页面在Web服务器和浏览器之间传递,并将它存储在用户硬盘上的某个文件夹中。Cookie包含每次用户访问站点…

1111 评论

201406114205 陈嘉慧 http://www.cnblogs.com/hui1005039632/ 201406114219 林宇粲 http://www.cnblogs.com/zlcan/ 201406114220 蔡舜 http://www.cnblogs.com/caishun/ 201406114215 林志杰 http://www.cnblogs.com/15linzhijie/ 201406114252 王俊杰 http://www.cnblogs.c…

React 16.8.6 发布,构建用户界面的 JavaScript 库

React 16.8.6 已发布&#xff0c;该版本更新如下&#xff1a; React DOM 修复 useReducer() 中的问题&#xff08;acdlite in #15124&#xff09;修复 Safari DevTools 中的 iframe 警告&#xff08;renanvalentin in #15099&#xff09;若 contextType 设置为 Context.Consume…

linux禁止路由器,FCC 新规可能禁止在 WiFi 路由器安装 OpenWRT

FCC(美国联邦通讯委员会)的新规则可能会禁止在 WiFi 路由器安装 OpenWRT。OpenWrt 类似于 Buildroot 的路由器固件&#xff0c;为嵌入式设备所研发的 Linux 发行版。目前 OpenWrt 已支持多个平台(如 ARM、mips、x86 等)&#xff0c;且提供了许多开源应用程序&#xff01;许多便…

智销功能_Shiro权限框架

Shiro是什么&#xff1f; Spring security 重量级安全框架 Apache shiro 轻量级安全框架 Shiro是一个强大且易用的Java权限框架 四大基石 身份验证&#xff0c;授权&#xff0c;密码学&#xff0c;会话管理 /*** String algorithmName, Object source, Object salt, int hashIt…

ARM、FPGA和DSP的特点和区别是什么?(转)

发布时间&#xff1a;2009-5-8 14:25 发布者&#xff1a;ARM 关键词&#xff1a;DSP, ARM, FPGA, 特点 DSP&#xff08;digital singnal processor&#xff09;是一种独特的微处理器&#xff0c;有自己的完整指令系统&#xff0c;是以数字信号来处理大量信息的器件。一个…

unix to linux,UNIX to Linux 的关键问题都有哪些?

答&#xff1a;针对问题描述有一些不同的观点。1、第一个问题就是应用架构的改造问题&#xff0c;需要支持负载均衡模式。说明&#xff1a;这个不一定需要支持负载均衡模式&#xff0c;首先本身LINUXONE提供多分区架构&#xff0c;不需要改变原有应用系统的部署模式。而且负载均…

MongoDb 查询时常用方法

Query.All("name", "a", "b");//通过多个元素来匹配数组Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件Query.EQ("name", "a");//等于Query.Exist…

解决Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/

https://blog.csdn.net/quanqxj/article/details/79479943转载于:https://www.cnblogs.com/liuys635/p/10624068.html

从 StarCraft 2 Installer.exe 中提取种子文件

蛋疼的想在 Linux 下下载星际争霸&#xff0c;但是暴雪提供的是 exe 格式的文件&#xff0c;这其实就是个 BT 客户端&#xff0c;但是问题是怎么提取出里面的种子文件呢&#xff0c;经过一番 google 找到了答案。 直接用 Vi 或 Emacs 打开 exe 格式的文件&#xff0c;搜索“d8:…

linux下接口持续集成,部署jenkins持续集成工具

1、Linux安装配置jdk环境1.1、上传到 Linux 服务器&#xff1b;例如&#xff1a;上传至&#xff1a; cd /usr/local1.2、解压&#xff1a;rpm -ivh jdk-8u111-linux-x64.rpm1.3、环境变量配置cd /etc在etc下&#xff0c;找到 profile文件&#xff0c;增加如下如下配置&#xff…

iOS UILabel UITextView自适应文本,或文本大小自适应

//UILabel自适应文本的高度UILabel *label [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 300, 100)];label.numberOfLines 0;label.lineBreakMode NSLineBreakByWordWrapping;label.text "是它吗&#xff1f;哈哈&#xff0c;太兴奋了。”12日&#xff0c;随着土…

(原)War3 脚本分析5-基础脚本资源

众所周知War3编辑器非常强大&#xff0c;这种强大不仅是因为其拥有诸如地形编辑器、开关编辑器、声音编辑器、物体编辑器、战役编辑器、AI编辑器、物体管理器、输入管理器等非常全面且易于使用的功能&#xff0c;更为重要的是在其基础上MOD爱好者通过很简单的操作即可实现各式各…

Mysql统计分组区间的人数和

统计各分数区间数据 现在要统计&#xff1a;<50、50-60、60-70、70-80、80-90、90-100、>100分数区间的人数&#xff1b;利用 INTERVAL 划出7个区间&#xff1b;再利用 elt 函数将7个区间分别返回一个列名&#xff0c;如下SQL&#xff1a; 123456789101112131415 mysql&g…

tcl c语言笔试题,TCL技术类笔试题目.doc

TCL技术类笔试题目模拟电路试题一&#xff0e;二极管1.如图所示电路中&#xff0c;已知电源电压 E4V 时,I1mA。那么当电源电压 E8V 时 , 电流I的大小将是______2.稳压管通常工作于______&#xff0c;来稳定直流输出电压截止区 正向导通区 反向击穿区3. 由二极管的伏安特性可知&…

Js-函数式编程

前言 JavaScript是一门多范式语言&#xff0c;即可使用OOP&#xff08;面向对象&#xff09;&#xff0c;也可以使用FP&#xff08;函数式&#xff09;&#xff0c;由于笔者最近在学习React相关的技术栈&#xff0c;想进一步深入了解其思想&#xff0c;所以学习了一些FP相关的知…

MFC中显示 .bmp格式的位图

最近在看VisualC 图像处理的书籍&#xff0c;表示一直在从基础做起&#xff0c;今天就记录一个简单功能的实现&#xff0c;显示.bmp格式的位图。 首先需要理解的是窗口创建的过程包括两个步骤&#xff1a;首先擦除窗口的背景&#xff0c;然后在对窗口进行重新绘制。 一般而言&a…

ibatis源码浅析- 初探

ibatis核心类 SqlMapExecutor&#xff1a;定义了数据库curd操作api SqlMapTransactionManager &#xff1a; 主要定义了事务管理功能 SqlMapClient&#xff1a;继承SqlMapExecutor, SqlMapTransactionManager接口 也就具有curd操作 事务管理行为 SqlMapSession&#xff1a; 它…

c语言中void跟argv,argc和argv []在C语言中

我学习C和在其中一个例子&#xff0c;我们写出这样的程序&#xff1a;argc和argv []在C语言中#include int main(int argc, char *argv[]){// go through each string in argvint i 0;while(i < argc){printf("arg %d: %s\n", i, argv[i]);i;}// lets make our o…

【转】apache常用配置

如何设 置请求等待时间在httpd.conf里面设置&#xff1a;  TimeOut n  其中n为整数&#xff0c;单位是秒。 如何接收一个get请求的总时间接收一个post和put请求的TCP包之间的时间  TCP包传输中的响应&#xff08;ack&#xff09;时间间隔 如何使得apache监听在特定的端口…

[20190402]对比_mutex_wait_scheme不同模式cpu消耗.txt

[20190402]对比_mutex_wait_scheme不同模式cpu消耗.txt--//前几天做了sql语句在mutexes上的探究.今天对比不同_mutex_wait_scheme模式cpu消耗.1.环境:SYSbook> hide mutexNAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE---------------…