百度云盘  传送门  密码:y0dk

图片掀开切换效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery图片相册掀开切换</title> <link rel="stylesheet" type="text/css" href="css/style.css" /> <script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function(){ var interval;
$(".container img").click(function cover(){
$(this).addClass("zoom").fadeOut(700,append);
function append(){
$(this).removeClass("zoom").appendTo(".container").show();
var name = $(".container").children("img").first().attr("alt");
$(".name p").text("No "+name);
} }) function auto(){
var play = $(".container").children("img").first();
play.addClass("zoom").fadeOut(700,append);
function append(){
$(this).removeClass("zoom").appendTo(".container").show();
var name = $(this).parent().children("img").first().attr("alt");
$(".name p").text("No "+name);
}
interval = setTimeout(auto,5000);
} $(".container img").hover(function(){
stopPlay();
},function(){
interval = setTimeout(auto,5000);
}) function stopPlay(){
clearTimeout(interval)
}
auto(); })
</script> </head>
<body> <h1>Gary</h1> <div class="container" style="margin-top:100px">
<img src="data:images/a1.png" alt="1" />
<img src="data:images/a2.png" alt="2" />
<img src="data:images/a3.png" alt="3" />
<img src="data:images/a4.png" alt="4" />
<img src="data:images/a5.png" alt="5" />
</div>
<div class="name">
<p>No 1</p>
</div> </body>
</html>

index.html

@charset "utf-8";

body{ background-color: #F5F3F3 }
h1{ text-align:center; font-size:18px} .container{ background: #FF9; width: 420px; height: 300px; margin: 0px auto; cursor: pointer; overflow: hidden; box-shadow: 6px 4px 5px hsla(0,0%,59%,.2); -webkit-box-shadow: 6px 4px 5px hsla(0,0%,59%,.2); }
.container img{
background:#FFF;
display:block;
width:400px;
height:280px;
padding:10px;
float:left;
-webkit-transition:0.7s;
-moz-transition:0.7s;
-o-transition:0.7s;
}
.zoom{
position:absolute;
-moz-transform:translate(-150px,-120px);
-webkit-transform:scale(1.1) translate(-150px,-120px) skew(15deg,-30deg);
-ms-transform:scale(1.1) translate(-150px,-120px) skew(15deg,-30deg);
-o-transform:scale(1.1) translate(-150px,-120px) skew(15deg,-30deg);
}
.name{
background:#FFF;
width:220px;
height:30px;
margin:15px auto;
cursor:pointer;
box-shadow:2px 2px 5px #969696;/*opera或ie9*/
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;
} .name p{
font:bold 24px Verdana, Geneva, sans-serif;
text-align:center;
line-height:30px;
color:#FFF;
background:#333;
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;
}

style.css

实现过程:

.zoom{
position:absolute;
-moz-transform:translate(-150px,-120px);
-webkit-transform:scale(1.1) translate(-150px,-120px) skew(15deg,-30deg);
-ms-transform:scale(1.1) translate(-150px,-120px) skew(15deg,-30deg);
-o-transform:scale(1.1) translate(-150px,-120px) skew(15deg,-30deg);
}

transform语法:传送门

 translate(x,y) 定义 2D 转换

 scale(x,y) 定义 2D 缩放转换

 skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换

一、点击相册实现图片切换

    $(".container img").click(function cover(){
$(this).addClass("zoom").fadeOut(700,append);
function append(){
$(this).removeClass("zoom").appendTo(".container").show();
var name = $(".container").children("img").first().attr("alt");
$(".name p").text("No "+name);
} })

addClass() :向被选元素添加"zoom"类

removeClass() :从被选元素移除"zoom"类

点击相册实现图片淡入效果:$(selector).fadeOut(speed,callback)

$(selector).fadeOut(speed,callback)

speed:可选。规定元素从可见到隐藏的速度。默认为 "normal"。

参数值:

毫秒 (比如 1500)
"slow"
"normal"
"fast"
在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其透明度(这样会创造淡出效果)。 callback:可选。fadeOut 函数执行完之后,要执行的函数。 如需学习更多有关 callback 的内容,请访问我们的 jQuery Callback 这一章。 除非设置了 speed 参数,否则不能设置该参数。

fadeOut() :使用淡出效果来隐藏被选元素

(jQuery中fadeIn和fadeOut的方法使用js来控制元素的透明度达到淡入淡出效果目的,但缺点是有轻微的卡顿感,并且运行效率一般)

appendTo() :”在被选元素的结尾(仍然在内部)插入指定内容

children() :返回被选相册的所有照片,实现便利效果

 二、不点击图片时,实现相册(5s)自动切换图片

    function auto(){
var play = $(".container").children("img").first();
play.addClass("zoom").fadeOut(700,append);
function append(){
$(this).removeClass("zoom").appendTo(".container").show();
var name = $(this).parent().children("img").first().attr("alt");
$(".name p").text("No "+name);
}
interval = setTimeout(auto,5000);
}

 定时器setTimeout()

 setTimeout(code,millisec):用于在指定的毫秒数后调用函数或计算表达式

  code (必需):要调用的函数后要执行的 JavaScript 代码串。
  millisec(必需):在执行代码前需等待的毫秒数

 setTimeout() 调用一次只能执行 code 一次

三、当鼠标悬停相册上时停止图片切换

    $(".container img").hover(function(){
stopPlay();
},function(){
interval = setTimeout(auto,5000);
}) function stopPlay(){
clearTimeout(interval)
}
auto();

hover() :规定当鼠标指针悬停在被选元素上时要运行的stopPlay()方法

clearTimeout():停止setTimeout()的执行

JS框架_(JQuery.js)图片相册掀开切换效果的更多相关文章

  1. JS框架_(JQuery.js)绚丽的3D星空动画

    百度云盘: 传送门 密码:8ft8 绚丽的3D星空动画效果(纯CSS) (3D星空动画可以用作网页背景,Gary为文本文字) <!doctype html> <html lang=& ...

  2. JS框架_(JQuery.js)文章全屏动画切换

    百度云盘 传送门 密码:anap 文章全屏动画切换效果 <!doctype html> <html lang="zh"> <head> < ...

  3. JS框架_(JQuery.js)圆形多选菜单选项

    百度云盘 传送门 密码:zb1c 圆形多选菜单选项效果: <!DOCTYPE html> <html lang="en" > <head> &l ...

  4. JS框架_(JQuery.js)网页文字评论弹幕

    百度云盘 传送门 密码:3azl jQuery网页右下角文字评论弹幕效果 <!DOCTYPE html> <html> <head> <title>jQ ...

  5. JS框架_(JQuery.js)Tooltip弹出式按钮插件

    百度云盘 传送门 密码:7eh5 弹出式按钮效果 <!DOCTYPE html> <html > <head> <meta charset="UTF ...

  6. JS框架_(JQuery.js)点赞按钮动画

    百度云盘 传送门 密码: 0ihy 点赞按钮动画效果: (点击一次随机生成一颗小爱心,作为点赞动画~) <!doctype html> <html lang="en&quo ...

  7. JS框架_(JQuery.js)夜晚天空满天星星闪烁动画

    百度云盘 传送门 密码:xftr 满天星星闪烁动画效果: (可用星空动画来作为页面背景,白色文字改为文章或者其他的O(∩_∩)O) <!doctype html> <html> ...

  8. JS框架_(JQuery.js)上传进度条

    百度云盘 传送门 密码: 1pou 纯CSS上传进度条效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...

  9. JS框架_(JQuery.js)模拟刮奖

    百度云盘:传送门 密码:6p5q 纯CSS模拟刮奖效果 <!DOCTYPE html> <html lang="en"> <head> < ...

随机推荐

  1. 从多种角度看[BZOJ 1061] [NOI 2008]志愿者招募(费用流)

    从多种角度看[BZOJ 1061] [NOI 2008]志愿者招募(费用流) 题面 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运 ...

  2. C++练习 | 最长公共字符串(DP)

    HDU 1159.Common Subsequence #include<iostream> #include<stdio.h> #include<string> ...

  3. linux小白家教学<一>

    <数据中心规划与实施> 教学大纲  编写人:Allen 一. 课程教学内容及目标: (一) 知识目标 1.掌握企业级LINUX部署以及相关配置: 2.掌握LINUX操作系统基本的创建.删除 ...

  4. Git提交代码的小知识

    1.需要切换到项目目录下并创建一个Repository用于提交代码到这个仓库里 cd /g/....//cd后面有空格,用于进入某个项目文件夹 git init//用于创建Repository 2.添 ...

  5. vue-router实现原理

    vue-router实现原理 近期面试,遇到关于vue-router实现原理的问题,在查阅了相关资料后,根据自己理解,来记录下.我们知道vue-router是vue的核心插件,而当前vue项目一般都是 ...

  6. 丑陋的 shell 来一遍

    学习使人进步,好记性不如烂笔头 在线正则 在线正则 ^(.)(.).*?\2\1$ 正式开始总结 cat 反过来读取文件 tac file.txt nl --> number line 如 ca ...

  7. 织梦DEDECMS 5.7文章列表第一页dedefield.content

    功能介绍:有很多DEDEcms使用者,在二级文章列表中加入了{dede:field.content/},但在二级栏目中的每一页列表中都存在内容:使用该功能可以只在第一页显示. 注意:只针对最新dede ...

  8. nginx_rtmp

    rtmp { server { listen ; chunk_size ; max_connections ; #音视频流上传和播放地址都是 rtmp://你的IP/live/streamName # ...

  9. fiddler4自动生成jmeter脚本

    接口.性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑.需要将梳理的逻辑编写成脚本.最最苦的情况是,自己抓包 ...

  10. 利用nethogs查看哪些进程占用网络带宽

    一.安装nethogs centos6版本安装: 1.安装依赖包 [root@hlsms-fensheng- ~]# yum install ncurses* 已加载插件:fastestmirror, ...