Js+CSS3实现手风琴效果
效果截图:
HTML代码:
<div id="container">
<img src="data:images/photo01.jpg" alt="">
<img src="data:images/photo02.jpg" alt="">
<img src="data:images/photo03.jpg" alt="">
<img src="data:images/photo04.jpg" alt="">
</div>
CSS样式:
*{
margin:; padding:;
}
#container{
margin: 30px auto; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; height: 420px; overflow: hidden;
font-size:; position: relative;
}
#container img{
display: block;width: 420px; height: 420px; position: absolute; left:; top:; border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
}
JS代码:
window.onload=function(){
//获取图片容器
var oBox=document.getElementById('container'); //获取图片
var aImgs=document.getElementsByTagName('img'); //获取单张图片宽度
var oImgWidth=aImgs[0].offsetWidth; //定义显露宽度
var oInitWidth=160; //设置图片容器宽度
oBox.style.width=oImgWidth + oInitWidth*(aImgs.length-1)+'px'; //初始化图片位置
function initImgPos(){
for(var i = 1; i < aImgs.length; i++){ //由于第一张图片不需要设置,i从1开始
aImgs[i].style.left=oImgWidth + oInitWidth*(i-1) + 'px';
}
}
//初始化执行一次
initImgPos() //定义鼠标滑过每个图片应移动的距离
var translate=oImgWidth - oInitWidth; //鼠标滑动效果
for (var i = 0; i < aImgs.length; i++) {
// 使用立即执行函数,获得不同i的值
(function(i){
aImgs[i].onmouseover=function(){
// 复位
initImgPos(); //重新计算位置
for(var j = 1; j <= i; j++){
aImgs[j].style.left=parseInt(aImgs[j].style.left,10) - translate + 'px';
}
}
})(i)
} }
笔记来源:慕课网:DOM探索之基础详解篇
Js+CSS3实现手风琴效果的更多相关文章
- 基于css3实现手风琴效果
终于在凌晨一点钟逼迫自己写博客.一直想记录自己的前端工程师之路,但毕竟拖延症晚期.因为第一篇随笔,所以多写一点废话吧.刚刚从学校毕业,放弃了一直学习的java,而想从事前端的工作.第一是觉得osgi这 ...
- 史上最简单的js+css3实现时钟效果
今天我看到百度搜索的时间那个效果不错,于是就产生了模仿一下的效果,不过为了节省时间,就随便布了下局,废话不多说,先看看效果吧,顺便把百度的效果也拿过来. 对比样子差了好多啊,但是基本功能都是实现了的, ...
- js css3实现钟表效果
原理: 利用transform-origin改变旋转的圆心,实现秒数和分钟数的刻度线,利用transfrom translate实现钟表小时刻度的显示 html: <div class=&quo ...
- js的轮播效果
图片的轮播效果!主要运用了元素的style样式属性,与 setInterval(); <!DOCTYPE html> <html> <head lang="en ...
- 一步步教你css3手风琴效果的实现
什么是手风琴效果? 首先我们先来看一段动画,如下图所示: 在上面动画中,我们不难发现,一排照片正常排列,当我鼠标移上(:hover)时,照片会变大显示并且把其它照片挤小.那么在鼠标来回移动的过程中,画 ...
- tiltShift.js - CSS3 滤镜实现移轴镜头效果
tiltShift.js 是一款很棒的 jQuery 插件,使用 CSS3 图片滤镜来实现照片的移轴镜头效果.使用非常简单,使用 data 属性配置参数.温馨提示:为保证最佳的效果,请在 IE10+. ...
- 使用 jQuery & CSS3 实现优雅的手风琴效果
手风琴效果常用于切换显示一组内容,这种方式既可以节省网页空间又可以有动画效果.今天,我们将创造一个优雅的手风琴内容效果.这个想法是有悬停时滑出一些垂直手风琴标签.我们将添加一些 CSS3 属性来提升外 ...
- JS+JQ手风琴效果
最新在学习JS写一些实用的小玩意——手风琴 CSS样式: <style type="text/css"> * { margin: 0px; border: 0px; p ...
- 使用JS实现手风琴效果
想要实现简单的手风琴切换效果,需要使用JS实现,如下是使用javascript源码实现,后续会更新使用jQuery实现. 1. 先进行简单的布局:我们可以再ul下添加几个li实现html的简单布局,再 ...
随机推荐
- Android面试收集录 2D绘图与动画技术
1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...
- WPF中使用定时器的注意事项
原文:WPF中使用定时器的注意事项 注意事项 要使用System.Windows.Threading.DispatcherTimer,而不能使用System.Timers.Timer. 原因是WPF是 ...
- TestNG执行测试用例的顺序
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebEle ...
- Appium iOS万能的定位方式--Predicate(iOSNsPredicate)
所谓Predicate定位即Java-Client -5.0.版本以及Appium-Python-Client 0.31版本更新后增加的新的定位方式: 举个例子: JAVA代码: //输入账号和密码 ...
- svm+voting
# encoding:utf-8 import getopt from sklearn.preprocessing import MinMaxScaler import os,time from mu ...
- kill命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/wangcp-2014/p/5146343.html 1.命令格式: kill[参数][进程号] 2.命令功能: 发送指 ...
- 第18讲——string类
关键字:string类 字符串 C-风格字符串 C库字符串函数 字符串:存储在内存的连续字节中的一系列字符. C++处理字符串的方式有两种: 来自C语言,常被称为C-风格字符串: 基于strin ...
- 第1讲——用C++写一个程序
一.学习新知识 在学习C++之前学过C语言了,一些基础的就不bb了,进入正题. 来几个小程序练练手: [程序1] #include <iostream> //头文件 using names ...
- 关于百度Editor富文本编辑器 自定义上传位置
因为要在网站上编辑富文本数据,所以直接采用百度的富文本编辑器,但是这个编辑器有个缺点,默认情况下,文件只能上传到网站的根目录,不能自定义路径. 而且json配置文件只能和controller.jsp在 ...
- ArcGIS Server中创建的两个账户有什么区别
新手常常有这样的疑问: 在安装ArcGIS Server的时候创建的账户和在ArcGIS Server Manager上面创建的账户有什么区别? 解答:前者是是为ArcGIS Server创建的操作系 ...