css+js 控制幻灯片效果
<!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 控制幻灯片效果的更多相关文章
- 简单的css js控制table隔行变色
(1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...
- 隔行变色---简单的css js控制table隔行变色
(1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...
- 伪元素after,before,css/js控制样式
CSS<style> body { font: 200%/1.45 charter; } ref::before { content: '\00A7'; letter-spacing: . ...
- 使用CSS实现一个简单的幻灯片效果
方法一: 简单的CSS代码实现幻灯片效果 方法二: 使用CSS3 Animation来制作幻灯片 方法一: 简单的CSS代码实现幻灯片效果 话不多说,直接上代码 <!DOCTYPE html&g ...
- 纯css实现幻灯片效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- gulp为css,js添加版本号
由于cdn缓存,更改样式后会有一段时间不生效,解决方法就是给css,js加上版本号效果如下: 1.安装gulp插件 npm install --save-dev gulp-rev (version:9 ...
- 通过jquery js 实现幻灯片切换轮播效果
观察各个电商网址轮播图的效果,总结了一下主要突破点与难点 1.->封装函数的步骤与具体实现 2->this关键字的指向 3->jquery js函数熟练运用 如animate 4-& ...
- CSS & JS 制作滚动幻灯片
==================纯CSS方式==================== <!DOCTYPE html> <html> <head> <met ...
- 用JS控制CSS基本样式
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp29 用JS控制CSS基本样式的方法 CSS code .class1 { ...
随机推荐
- 切取图片的一部分(利用CCRenderTexture)
转自:http://blog.csdn.net/wcjwdq/article/details/37932769 显示图片时,在项目中经常会用只读取图片的一部分,而不是全部. 错误方式:很多人这时候会采 ...
- SCVMM之Windows Server2012 R2新功能
在Windows Server 2012 R2中可以通过使用共享的虚拟硬盘VHDX文件的方法来模拟IP SAN,来为虚拟机创建群集提供共享存储.这样为虚拟机创建群集时就不用再像以前一样通过使用软件模拟 ...
- CentOS 6.5 源码安装MySQL5.6
1:下载安装cmake (mysql5.5以后是通过cmake来编译的) #http://download.csdn.net/detail/csxuedn/7976005 #wget http://w ...
- 【JS】识别浏览器版本及操作平台
背景: 有这么个需求,需要统计,用户打开网站使用的浏览器,以及操作平台. 实现: 受HTML5Test这个网站的影响,发现它可以实现,获取浏览器以及平台的功能,然后研究代码发现了这个 ...
- Android Client and Jsp Server
1. Interestfriend Server https://github.com/eltld/Interestfriend_server https://github.com/774663576 ...
- Android游戏框架之基础之AA碰撞系统
AA 碰撞体 就是将所有的物体设置为矩形框进行碰撞计算.下面是代码 /* * Copyright (C) 2010 The Android Open Source Project * * Licens ...
- Javascript加载执行问题探索
转自:http://www.cnblogs.com/huangxincheng/archive/2011/12/04/2275988.html 前言 最近研究MongoDB数据库,无意间发现的好博客, ...
- iOS开发——UI篇Swift篇&UIActivityIndicatorView
UIActivityIndicatorView override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleStr ...
- mfc extention dll 與 normal dll 的區別
extention dll 1.指從MFC中繼承過來的DLL,一般要求使用共享MFC DLL進行連接,也要求調用者也使用MFC且使用共享MFC,如此可保證DLL與調用者有相同的MFC庫. 2.在使用資 ...
- 自己编写的.sh脚本文件运行完闪退解决方案
gnome-terminal设置如下图: 直接原因是,“命令退出时:退出终端”造成的!! 解决方案如下: 1. Ctrl + Alt + F1 ,进入文本操作模式: 2. 登录后,执行:yum ins ...