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="images/{{index}}.jpg" />
            </div>
        </div>
        <div class="ctrl" id="template_ctrl">
            <a class="ctrl_i " id="ctrl_{{index}}" href="javascript:switchSlider({{index}});">
                <img src="images/{{index}}.jpg" />
            </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>

  

时间: 2024-08-29 02:15:09

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

非常常用的一款js css 制作的幻灯片效果

下载地址:百度网盘

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

(1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#000000; cursor:hand; width:100%; }td { onmouseover: expression(onmouseover=function (){this.style.borderColor ='blue';this.style.color='red';this.style.backgro

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

方法一: 简单的CSS代码实现幻灯片效果 方法二: 使用CSS3 Animation来制作幻灯片 方法一: 简单的CSS代码实现幻灯片效果 话不多说,直接上代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>CSS实现简单的幻灯片效果</title> <style type="te

用CSS写一个简单的幻灯片效果页面

这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [用CSS写一个简单的幻灯片效果页面] 1.背景介绍CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation. transform属性向元素应用2D或3D转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜. transition是令一个或多个可以用数值表示的css属性值

CSS &amp; JS 制作滚动幻灯片

==================纯CSS方式==================== <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { padding: 0px; margin: 0px; } .show-box { height: 80

JS 控制CSS样式表

JS控制CSS样式,首先得确定一点,CSS与HTML页面的链接方式,因为CSS有3种与HTML页面结合的方式,不同的方式也会产生不同的结果. 下面先记录一下JS控制CSS所使用的方法. 1.使用javascript更改某个css class的属性... 1 <style type="text/css"> 2 .orig { 3 display: none; 4 } 5 </style> 你想要改变把他的display属性由none改为inline. 解决办法:

用JS控制下拉菜单效果

今天,突然想复习下之前学习做导航菜单的一些知识.之后觉得下拉菜单非常好玩儿,于是自己试着用JS调出了效果.网上有众多方法,但是感觉不是很对我的胃口,我喜欢HTML/CSS/JavaScript分离着写,用户体验重要,码农审美也很重要啊,O(∩_∩)O~ 在做下拉菜单的过程中,有以下心得: 1.this是个好东西,比如在鼠标事件中,它代表此时的鼠标事件对象本身,免去去用其他方式代表改对象的麻烦: 2.getElementsByTagName或者getElementById方法获得的是一个数组,需要

JS控制css

<style> #div1 {position:absolute;left:20px;top:30px;width:20px;height:30px;background-color:red} .red{color: red} .blue{color: blue} </style> <script> var d = 100; function test() { var a = document.getElementById("div1"); a.st

实用js+css多级树形展开效果导航菜单

<!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-Typ