• html5实现的超简单幻灯片


    用html5、css3实现的超简单幻灯片,用鼠标滚轮滚动进行换页。

    <!doctype html>
    <html> 
    <head> 
        <title></title>
        <style>
            #slides{
                position:absolute;
                left:0px;
                top:0px;
                height:100%;
                width:100%;
                overflow:hidden;    
            }
            .slide{
                position:absolute;
                height:600px;
                width:800px;
                opacity:0.7;
                background-color:rgba(0, 128, 196, 0.5) !important;
                background-color:#ccc;            
                border-radius:10px;
                left:50%;
                top:50%;
                margin-top:-300px;
                box-shadow:5px 5px 5px rgba(0, 0, 0, 0.5); 
                transition:all 0.25s ease-in-out 0s;
            }
            .current{
                opacity:1;            
                margin-left:-400px;                    
            }
            .future{
                margin-left:450px;
                transform: skew(-3deg) scale(0.8);
                -webkit-transform: skew(-3deg) scale(0.8);    
            }
            .post{
                margin-left:-1250px;
                transform: skew(3deg) scale(0.8);
                -webkit-transform: skew(3deg) scale(0.8);
            }
            .far-future{
                margin-left:1200px;
                transition:none;    
            }        
        </style>    
    </head> 
    <body> 
    
    
    <div id="slides"> 
    <div class="slide current">1</div>
    <div class="slide future">2</div>
    <div class="slide far-future">3</div>
    <div class="slide far-future">4</div>
    <div class="slide far-future">5</div>
    <div class="slide far-future">6</div>
    <div class="slide far-future">7</div>
    </div> 
    
    <script>
    !function(){    
        var slides = document.getElementById("slides").childNodes;
        var l = slides.length;
        function fslide(e){
            var event = e || window.event;
            //console.log(event.wheelDelta +"   "+ event.detail);
            for(var i=0;i<l;i++){
                if(slides[i].className=="slide current"){
                    var current_slide = slides[i];
                    break;
                }    
            }
            //var current_slide = document.getElementsByClassName("current")[0]; // getElementsByClassName只有火狐,谷歌等浏览器的较新版本支持
            if((event.wheelDelta < 0 /*ie,谷歌等浏览器*/ || event.detail > 0 /*firefox*/) && nextel(current_slide)){            
                if(prevel(current_slide)){
                    prevel(current_slide).className="slide far-future";
                }                
                current_slide.className="slide post";
                nextel(current_slide).className="slide current";
                if(nextel(nextel(current_slide))){
                    nextel(nextel(current_slide)).className="slide future";    
                }            
            }else if((event.wheelDelta > 0 || event.detail < 0) && prevel(current_slide)){
                if(nextel(current_slide)){
                    nextel(current_slide).className="slide far-future";
                }
                current_slide.className="slide future";
                prevel(current_slide).className="slide current";
                if(prevel(prevel(current_slide))){
                    prevel(prevel(current_slide)).className="slide post"
                }            
            }
        }
        
        
        document.onmousewheel = fslide; // ie,谷歌等浏览器
        if(document.addEventListener){
            document.addEventListener("DOMMouseScroll",fslide,false); // firefox
        }        
    }();
    function prevel(el){
        if(el.previousSibling == null) return null;
        return el.previousSibling.nodeType == 1 ? el.previousSibling : prevel(el.previousSibling);
    }
    function nextel(el){
        if(el.nextSibling == null) return null;
        return el.nextSibling.nodeType == 1 ? el.nextSibling : nextel(el.nextSibling);
    }    
    </script>    
    </body> 
    </html>
  • 相关阅读:
    jquery插件之文字无缝向上滚动
    jquery插件之tab标签页或滑动门
    jquery插件之表格隔行变色并鼠标滑过高亮显示
    jquery过滤器之:contains()、.filter()
    css3动画在动作结束时保持该状态不变的解决办法
    CSS3两个动画顺序衔接播放
    css去掉使用bootstrap框架后打印网页时预览效果下的超链接
    R in action读书笔记(13)第十章 功效分析
    Python学习 Day 7 面向对象 类和实例 访问限制
    R in action读书笔记(12)第九章 方差分析
  • 原文地址:https://www.cnblogs.com/sooj/p/3129327.html
Copyright © 2020-2023  润新知