<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>幻灯片效果</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
body{
padding: 50px 10%;
}
.slider .main,.slider{
width: 100%;
height: 400px;
position: relative;
}
/*幻灯片*/
.slider .main{
overflow: hidden;
}
.slider .main .main_i{
width: 100%;
position: absolute;
right: 50%;
top:0px;
-webkit-transition:all 0.5s;
opacity: 0;
}
.slider .main .main_i img{
width: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
/*控制*/
.slider .ctrl {
width: 100%;
height: 13px;
line-height: 13px;
text-align: center;
position: absolute;
left: 0;
bottom: -13px;
background: #ccc;
}
.slider .ctrl .ctrl_i{
display: inline-block;
width: 150px;
height: 13px;
background: #ccc;
border: 1px solid;
position: relative;
margin-left: 1px;
}
.slider .ctrl .ctrl_i img{
width: 100%;
position: absolute;
left: 0;
bottom:50px ;
z-index: 1;
opacity: 0;
-webkit-transition:all 0.2s ;
}
/*hover 控制按钮样式*/
.slider .ctrl .ctrl_i:hover{
background-color:#f0f0f0 ;
}
.slider .ctrl .ctrl_i:hover img{
bottom:13px ;
/*倒影*/
-webkit-box-reflect:below 0px -webkit-gradient(
linear,
0 0,
0 100%,
from(transparent),
color-stop(50%,transparent),
to(rgba(255, 255, 255, 0.3))
);
opacity: 1;
}
/*active 当前状态*/
.slider .ctrl .ctrl_i_active img:hover,
.slider .ctrl .ctrl_i_active{
background-color: #ccc;
}
.slider .ctrl .ctrl_i_active:hover img{
opacity: 0;
}
.slider .main .main_i_active{
right: 0;
opacity:1;
}
</style>
</head>
<body>
<div class="slider">
<div class="main" id="template_main">
<div class="main_i" id="main_{{index}}">
<img src="data:images/{{index}}.jpg" alt=""/>
</div>
</div>
<div class="ctrl" id="template_ctrl">
<a class="ctrl_i " id="ctrl_{{index}}" href="javascript:switchSlider({{index}});">
<img src="data:images/{{index}}.jpg" alt=""/>
</a>
</div>
</div>
</body>
<script>
//1. 数据定义
var data = [
{img:1},
{img:2},
{img:3},
{img:4},
{img:5}
]
//定义通用函数
var g = function(id){
if(id.substr(0,1) == "."){
return document.getElementsByClassName(id.substr(1))
}
return document.getElementById(id);
}
//添加幻灯片
function addslider(){
var tpl_main = g('template_main').innerHTML;
var tpl_ctrl = g('template_ctrl').innerHTML;
var out_main = [];
var out_ctrl = [];
for(i in data){
var _html_main = tpl_main
.replace(/{{index}}/g,data[i].img)
.replace(/{{index}}/g,data[i].img)
var _html_ctrl = tpl_ctrl
.replace(/{{index}}/g,data[i].img);
out_main.push(_html_main);
out_ctrl.push(_html_ctrl);
}
//把html 写到对应的dom 中
g("template_main").innerHTML = out_main.join("");
g("template_ctrl").innerHTML = out_ctrl.join("");
}
//幻灯片切换
function switchSlider(n){
// 获得要展现的幻灯片& 控制按钮
var main = g("main_" + n);
var ctrl = g("ctrl_" + n);
// 获得所有的幻灯片&控制按钮 dom
var clear_main = g(".main_i")
var clear_ctrl = g(".ctrl_i")
//清除样式
for(var i = 0 ;i < clear_main.length; i++){
clear_main[i].className = clear_main[i].className.replace("main_i_active");
clear_ctrl[i].className = clear_ctrl[i].className.replace("ctrl_i_active");
}
//为当前幻灯片&按钮添加样式
main.className += " main_i_active";
ctrl.className += " ctrl_i_active";
}
//何时处理幻灯片
window.onload = function(){
addslider();
switchSlider(1)
}
</script>
</html>

  

css+js 控制幻灯片效果的更多相关文章

  1. 简单的css js控制table隔行变色

    (1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...

  2. 隔行变色---简单的css js控制table隔行变色

    (1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...

  3. 伪元素after,before,css/js控制样式

    CSS<style> body { font: 200%/1.45 charter; } ref::before { content: '\00A7'; letter-spacing: . ...

  4. 使用CSS实现一个简单的幻灯片效果

    方法一: 简单的CSS代码实现幻灯片效果 方法二: 使用CSS3 Animation来制作幻灯片 方法一: 简单的CSS代码实现幻灯片效果 话不多说,直接上代码 <!DOCTYPE html&g ...

  5. 纯css实现幻灯片效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  6. gulp为css,js添加版本号

    由于cdn缓存,更改样式后会有一段时间不生效,解决方法就是给css,js加上版本号效果如下: 1.安装gulp插件 npm install --save-dev gulp-rev (version:9 ...

  7. 通过jquery js 实现幻灯片切换轮播效果

    观察各个电商网址轮播图的效果,总结了一下主要突破点与难点 1.->封装函数的步骤与具体实现 2->this关键字的指向 3->jquery js函数熟练运用 如animate 4-& ...

  8. CSS & JS 制作滚动幻灯片

    ==================纯CSS方式==================== <!DOCTYPE html> <html> <head> <met ...

  9. 用JS控制CSS基本样式

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp29 用JS控制CSS基本样式的方法 CSS code .class1 { ...

随机推荐

  1. opennebula 创建模板【配置集群、配置VNC、配置RAW、配置SSH】

    { "vmtemplate": { "NAME": "bbbb", "MEMORY": "512", ...

  2. 使用MySQL中的EXPLAIN解释命令来检查SQL

    我们看到许多客户的系统因为SQL及数据库设计的很差所以导致许多性能上的问题,这些问题不好解决,但是可以采用一套简单的策略来检查生产系统,发现并纠正一些共性问题. 很显然,您应该尽最大努力设计出最好的数 ...

  3. 05_android入门_GET方式实现登陆(在控件上显示服务端返回的内容)

    当点击登陆之后,怎么把server端返回的数据,写到指定的控件上尼?,在android怎么实现尼?以下我们通过详细的代码进行分析和实现,希望能对你,在学习android知识上有所帮助. 以下通过代码说 ...

  4. Python 存储模型

    1.Python彻底分离了对象和引用,可以认为内存中的对象都是不可修改的,每次修改引用,相当于在堆上重新创建一个对象,引用指向新对象. 2.对于数值和字符串,修改意味着引用指向一个新对象. 3.集合中 ...

  5. Codeforces Beta Round #4 (Div. 2 Only) C. Registration system hash

    C. Registration system Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset ...

  6. 《计算机问题求解》总结——2014年CCF计算机课程改革导教班(2014.07.11)

    一:引言     "心想事成".这是自己获得导教班学习机会的最佳概括.2013年年末学习李晓明老师的<人群与网络>课程:随后网络认识烟台大学贺利坚老师,了解到2013年 ...

  7. 黑客破译android开发代码真就那么简单?

    很多程序员辛辛苦苦开发出的android开发代码,很容易就被黑客翻译了. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了 ...

  8. iOS开发——高级UI—OC篇&退出键盘

    退出键盘 iOS开发中键盘的退出方法用很多中我们应该在合适的地方使用合适的方法才能更好的提高开发的效率和应用的性能 下面给大家介绍几种最常用的键盘退出方法,基本上iOS开发中的键盘退出方法都是这几种中 ...

  9. MYSQL 博客

    DavidYang的博客 - CSDN.NET DimitriK's (dim) Weblog Xaprb · Stay Curious! 飞鸿无痕的博客 - ChinaUnix博客 何登成的技术博客 ...

  10. The LMAX disruptor Architecture--转载

    原文地址: LMAX is a new retail financial trading platform. As a result it has to process many trades wit ...