• 扇形导航


    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                
                *{
                    margin: 0;
                    padding: 0;
                }
                html,body{
                    height: 100%;
                    overflow: hidden;
                }
                
                #wrap{
                    position: fixed;
                    right: 15px;
                    bottom: 15px;
                     50px;
                    height: 50px;
                    
                }
                
                #wrap > #inner{
                    height: 100%;
                }
                
                #wrap > #inner>img{
                    position: absolute;
                    left: 0;
                    top: 0;
                    bottom: 4px;
                    border-radius: 50%;
                    
                }
                #wrap > #home{
                    position: absolute;
                    top: 0;
                    left: 0;
                    z-index: 1;
                    background: url(img/home.png) no-repeat;
                    border-radius: 50%;
                    height: 100%;
                     100%;
                    transition: 1s;
                }
                
            </style>
        </head>
        <body>
            <div id="wrap">
                <div id="inner">
                    
                    <img src="img/clos.png" alt="" />
                    <img src="img/full.png" alt="" />
                    <img src="img/open.png" alt="" />
                    <img src="img/prev.png" alt="" />
                    <img src="img/refresh.png" alt="" />
                    
                </div>
                <div id="home">
                    
                </div>
            </div>
        </body>
        <script type="text/javascript" src="js/jquery-1.10.1.js" ></script>
        <script>
            var flag = true;
            var c = 140
            
            $(function(){
                
                $imglist =  $("#inner>img");
        
                
                $("#home").click(function(){
                    if (flag) {
                        $(this).css("transform","rotate(-720deg)");
                        $imglist.each(function(i){
                            $(this).css('transition',"1s "+(i*0.1)+"s")
                            $(this).css('transform',"rotate(-720deg) scale(1)")
                            var left = -getPoint(c,90*i/($imglist.length-1)).left+"px"
                            var top = -getPoint(c,90*i/($imglist.length-1)).top+"px"
                            $(this).css('left',left)
                            $(this).css('top',top)
                        })
                    }
                    else{
                        
                        $(this).css("transform","rotate(0deg)");
                        $imglist.each(function(i){
                            $(this).css('transition',"1s "+(($imglist.length-1-i)*0.1)+"s")
                            $(this).css('transform',"rotate(0deg) scale(1)")
                            $(this).css('left',"0px")
                            $(this).css('top',"0px")
                        })
                        
                        
                    }
                    flag = !flag;
                    
                    
                    
                })
                //已知第三边 得到横纵坐标
                    function getPoint(c,deg){
                        var left = c*Math.sin(deg*Math.PI/180)
                        var top = c*Math.cos(deg*Math.PI/180)
                        return {left:left,top:top}
                    }
                
                function fn(){
                    $(this).css("transition","1s");
                    $(this).css("transform","rotate(-720deg) scale(1)");
                    $(this).css("opacity","1");
                    $(this).off('transitionend',fn)
                }
                
                $imglist.each(function(i){
                    $(this).click(function(){
                        $(this).css("transition","0.5s");
                        $(this).css("transform","rotate(-720deg) scale(2)");
                        $(this).css("opacity","0.1");
                        //放大之后 实现了效果,然后要给每一个都赋予旋转,要不然的话,收回去的时候就没有了旋转的效果了
                        //transform个数和位置都要一样,所以都必须要有两个,要不然的话是不生效的。
                        $(this).on('transitionend',fn)
                    })
                    
                })
                
            })
        </script>
    </html>
  • 相关阅读:
    获取Windows DPI
    你的float用对了吗
    Overhead of a .NET array
    【原】灵活运用sessionStorage或者localStorage
    【总结】总结写了3个React页面后遇到的各种坑
    【学】AngularJS日记(4)- 过滤器的使用
    【学】AngularJS日记(3)- $apply(), run()方法
    【学】AngularJS日记(2)
    【学】AngularJS日记(1)
    【学】React的学习之旅7-官方例子总结
  • 原文地址:https://www.cnblogs.com/caicaihong/p/9598672.html
Copyright © 2020-2023  润新知