博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js仿苹果悬浮可拖拽按钮,并且点击展开效果
阅读量:5920 次
发布时间:2019-06-19

本文共 4487 字,大约阅读时间需要 14 分钟。

今天写了一个仿苹果的悬浮按钮,由于只在右侧展开,所以只能上下拖拽,展开效果入下

clipboard.png

1.html

2.css

@charset "gb2312";.info-nr {position:fixed;    top:70px;    right:3px;    z-index:900;    tap-highlight-color: rgba(0, 0, 0, 0);}     #toMenu{display:block;    width:45px!important;    height:45px!important;    border-radius:45px;    position: absolute;    bottom:0;    right:0;    z-index:9999;    color:#fff;    background:url(../img/navimg/png2.png) 50% 50% #3498fe;    background-repeat: no-repeat;    background-size:auto 62%;    box-shadow:0 0 0 3px #3498fe, 0 2px 5px 0 #3498fe;}.info-nr-phone{height:45px;width:45px;}#info-nr-phone{position:relative;}.info-nr-phone>div {    width:40px;    height:40px;    border-radius:40px;    box-shadow:0 0 0 3px #FFFFFF, 0 2px 5px 0 rgba(0, 0, 0, 0.25);    position:absolute;    bottom:2px;    right:2px;    z-index:900;    -moz-transition: transform 200ms;    -webkit-transition: -webkit-transform 200ms;    -ms-transition: transform 200ms;}.info-nr-phone>.to_01 {-webkit-transform: translate(-14px, -120px) rotate(720deg);                            -moz-transform: translate(-14px, -120px) rotate(720deg);                            -ms-transform: translate(-14px, -120px) rotate(720deg);                              -o-transform: translate(-14px, -120px) rotate(720deg);                                transform: translate(-14px, -65px) rotate(720deg);                            background:url(../img/navimg/55.png) 50% 50% no-repeat #fff;                                background-size:auto 66%;}.info-nr-phone>.to_02 {-webkit-transform: translate(-78px, -108px) rotate(720deg);                            -moz-transform: translate(-78px, -108px) rotate(720deg);                        -ms-transform: translate(-78px, -108px) rotate(720deg);                              -o-transform: translate(-78px, -108px) rotate(720deg);                                 transform: translate(-71px, -31px) rotate(720deg);                                background:url(../img/navimg/4.png) 50% 50% no-repeat #fff;                                background-size:auto 70%;}.info-nr-phone>.to_03 {-webkit-transform: translate(-85px, -80px) rotate(720deg);                            -moz-transform: translate(-85px, -80px) rotate(720deg);                            -ms-transform: translate(-85px, -80px) rotate(720deg);                              -o-transform: translate(-85px, -80px) rotate(720deg);                                 transform: translate(-67px, 28px) rotate(720deg);                                background:url(../img/navimg/3.png) 50% 50% no-repeat #fff;                                background-size:auto 60%;                        }.info-nr-phone> .to_04{-webkit-transform: translate(-79px, -36px) rotate(720deg);                           -moz-transform: translate(-79px, -36px) rotate(720deg);                            -ms-transform: translate(-79px, -36px) rotate(720deg);                             -o-transform: translate(-79px, -36px) rotate(720deg);                                 transform: translate(-15px, 62px) rotate(720deg);                                background:url(../img/navimg/2.png) 50% 50% no-repeat #fff;                                background-size:auto 60%;                        }

3.js

// JavaScript Documentwindow.addEventListener("DOMContentLoaded", function () {    $("#toMenu").click(function(){        $(".info-nr-phone").toggleClass("info-nr-phone2");        $(".menu_01").toggleClass("to_01");        $(".menu_02").toggleClass("to_02");        $(".menu_03").toggleClass("to_03");        $(".menu_04").toggleClass("to_04");    });}, false);// 拖拽var screenHeight = document.documentElement.clientHeight;  var fdiv = document.getElementById("info-nr"); fdiv.addEventListener('touchstart', false);  fdiv.addEventListener('touchmove', function(event) {        // 如果这个元素的位置内只有一个手指的话        if (event.targetTouches.length == 1) {         event.preventDefault();// 阻止浏览器默认事件,重要           var touch = event.targetTouches[0];           if((touch.pageY)<=70){//超过顶部            fdiv.style.top="70px";          }else if(touch.pageY>(screenHeight-parseInt(fdiv.clientHeight))){//超过底部            fdiv.style.top=(screenHeight-parseInt(fdiv.clientHeight))-70+"px";          }else{            fdiv.style.top = (touch.pageY-parseInt(fdiv.clientHeight)/2) + "px";          }        }}, false); fdiv.addEventListener('touchend', false);

转载地址:http://odbvx.baihongyu.com/

你可能感兴趣的文章
wode boke
查看>>
网关实验
查看>>
'FXBlurView', '~> 1.6.4'
查看>>
创建标准虚拟交换机
查看>>
java学习笔记 --- 多线程(1)
查看>>
Linux入门 Part2: 目录操作(2) - pwd&which 我...我在哪?
查看>>
vSphere 5 HA 基础功能测试
查看>>
SharePoint 2016集成部署Office Web App Server (三)
查看>>
LNMP之二进制MySQL的安装
查看>>
正向代理和反向代理的区别
查看>>
3669. [NOI2014]魔法森林【LCT 或 SPFA动态加边】
查看>>
一些程序的小算法
查看>>
JVM类加载(1)—加载
查看>>
C++编译器详解(二)常见precompiling 指令介绍
查看>>
Hadoop NameNode NN实现(已验证)
查看>>
【开学】
查看>>
二零一三年终总结
查看>>
spring boot热部署
查看>>
JAVA NIO
查看>>
Codeforces Round #544 (Div. 3) A.Middle of the Contest
查看>>