热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

html5悬浮球效果

自己想做一个自己的网站,觉得自适应的效果会好一点,但是放到手机端的话,菜单显示是个问题。所以自己试着写了一个悬浮球菜单的效果。好了,上代码。这里有四个文件要用:jqurey.js因为基于jq

自己想做一个自己的网站,觉得自适应的效果会好一点,但是放到手机端的话,菜单显示是个问题。所以自己试着写了一个悬浮球菜单的效果。

好了,上代码。

这里有四个文件要用:

jqurey.js//因为基于jq做的。所以这里要引用js文件。我引用的是jquery-1.8.2.js

PublicJs.js

主要是判断是否是手机端,来确定是使用点击或触摸事件用的

;
30 background-repeat: no-repeat;
31 background-size: 80% auto;
32 background-position-x: 50%;
33 background-position-y: 50%;
34 }
35
36 @media screen and (max-width: 500px) {
37 .SuspendedBall {
38 display: block;
39 }
40 }
41
42
43 @keyframes SuspendedBallToLeft {
44 100% {
45 left: 0px;
46 }
47 }
48
49 @-webkit-keyframes SuspendedBallToLeft {
50 100% {
51 left: 0px;
52 }
53 }
54
55 @-moz-keyframes SuspendedBallToLeft {
56 100% {
57 left: 0px;
58 }
59 }
60
61
62 .ToLeft {
63 animation: SuspendedBallToLeft 1s normal;
64 -moz-animation: SuspendedBallToLeft 1s normal; /* Firefox */
65 -webkit-animation: SuspendedBallToLeft 1s normal; /* Safari 和 Chrome */
66 animation-iteration-count: 1;
67 -moz-animation-iteration-count: 1; /* Safari 和 Chrome */
68 -webkit-animation-iteration-count: 1; /* Safari 和 Chrome */
69 animation-fill-mode: forwards;
70 -moz-animation-fill-mode: forwards;
71 -webkit-animation-fill-mode: forwards;
72 }
73
74 @keyframes SuspendedBallToTop {
75 100% {
76 top: 0px;
77 }
78 }
79
80 @-webkit-keyframes SuspendedBallToTop {
81 100% {
82 top: 0px;
83 }
84 }
85
86 @-moz-keyframes SuspendedBallToTop {
87 100% {
88 top: 0px;
89 }
90 }
91
92
93 .ToTop {
94 animation: SuspendedBallToTop 1s normal;
95 -moz-animation: SuspendedBallToTop 1s normal; /* Firefox */
96 -webkit-animation: SuspendedBallToTop 1s normal; /* Safari 和 Chrome */
97 animation-iteration-count: 1;
98 -moz-animation-iteration-count: 1; /* Safari 和 Chrome */
99 -webkit-animation-iteration-count: 1; /* Safari 和 Chrome */
100 animation-fill-mode: forwards;
101 -moz-animation-fill-mode: forwards;
102 -webkit-animation-fill-mode: forwards;
103 }
104
105 @keyframes SuspendedBallToBottom {
106 100% {
107 top: calc(100% - 50px);
108 top: -webkit-calc(100% - 50px);
109 top: -moz-calc(100% - 50px);
110 }
111 }
112
113 @-webkit-keyframes SuspendedBallToBottom {
114 100% {
115 top: calc(100% - 50px);
116 top: -webkit-calc(100% - 50px);
117 top: -moz-calc(100% - 50px);
118 }
119 }
120
121 @-moz-keyframes SuspendedBallToBottom {
122 100% {
123 top: calc(100% - 50px);
124 top: -webkit-calc(100% - 50px);
125 top: -moz-calc(100% - 50px);
126 }
127 }
128
129 .ToBottom {
130 animation: SuspendedBallToBottom 1s normal;
131 -moz-animation: SuspendedBallToBottom 1s normal; /* Firefox */
132 -webkit-animation: SuspendedBallToBottom 1s normal; /* Safari 和 Chrome */
133 animation-iteration-count: 1;
134 -moz-animation-iteration-count: 1; /* Safari 和 Chrome */
135 -webkit-animation-iteration-count: 1; /* Safari 和 Chrome */
136 animation-fill-mode: forwards;
137 -moz-animation-fill-mode: forwards;
138 -webkit-animation-fill-mode: forwards;
139 }
140
141 @keyframes SuspendedBallToRight {
142 100% {
143 left: calc(100% - 50px);
144 left: -webkit-calc(100% - 50px);
145 left: -moz-calc(100% - 50px);
146 }
147 }
148
149 @-webkit-keyframes SuspendedBallToRight {
150 100% {
151 left: calc(100% - 50px);
152 left: -webkit-calc(100% - 50px);
153 left: -moz-calc(100% - 50px);
154 }
155 }
156
157 @-moz-keyframes SuspendedBallToRight {
158 100% {
159 left: calc(100% - 50px);
160 left: -webkit-calc(100% - 50px);
161 left: -moz-calc(100% - 50px);
162 }
163 }
164
165 .ToRight {
166 animation: SuspendedBallToRight 0.5s normal;
167 -moz-animation: SuspendedBallToRight 0.5s normal; /* Firefox */
168 -webkit-animation: SuspendedBallToRight 0.5s normal; /* Safari 和 Chrome */
169 animation-iteration-count: 1;
170 -moz-animation-iteration-count: 1; /* Safari 和 Chrome */
171 -webkit-animation-iteration-count: 1; /* Safari 和 Chrome */
172 animation-fill-mode: forwards;
173 -moz-animation-fill-mode: forwards;
174 -webkit-animation-fill-mode: forwards;
175 }
176
177
178
179 .BallBox {
180 position: fixed;
181 z-index: 999;
182 top: calc(50% - 160px);
183 left: calc(50% - 160px);
184 display: block;
185 width: 300px;
186 border: 1px solid #808080;
187 border-radius: 10px;
188 height: 300px;
189 padding: 10px;
190 display: none;
191 }
192
193 .BallBox > .Bg {
194 position: absolute;
195 z-index: 998;
196 width: 300px;
197 height: 300px;
198 background-color: #ededed;
199 background-image: url("/Images/Self.png");
200 background-repeat: no-repeat;
201 background-size: 50% auto;
202 background-position: 50% 50%;
203 filter: alpha(opacity=30);
204 -moz-opacity: 0.3;
205 opacity: 0.3;
206 }
207
208 .BallBox > .BallBoxInfo {
209 position: absolute;
210 z-index: 999;
211 width: 300px;
212 height: 300px;
213 overflow: auto;
214 }
SuspendedBall.css

 

 还有要注意的是,你的body是否足够高。因为隐藏悬浮菜单的事件实在body上面触发的。我的页面中设置了html{width:100%;height:100%;}body{width:100%;height:100%}这两个样式。来解决这个问题,同事也解决了苹果手机里面的position:fixed;失效的问题

然后下面是我们使用这个悬浮球的时候的代码了

1 $(function () {
2 SuspendedBall.Add();//添加悬浮球
3 SuspendedBall.BoxHtml("
    " + $("#MenuInfo").html() + "
");//添加菜单框的内容当然,具体的样式和里面的内容需要自己去写
4 SuspendedBall.Move();//这个就是让悬浮球动起来的方法。为啥单独写个不写到add方法里面呢?因为你可以在页面中直接写入悬浮球的两个div。这个方法里面可以添加一个参数,这个参数是个function。当鼠标抬起的时候会调用到这个方法。
5 });
页面使用的js

然后,整个悬浮球就做完了。

想看的同学们可以打开我的网站去看:网址

当然,要记得放到宽度小于500的浏览器中看,我设置了显示的大小。

下面是我在google浏览器中手机界面看到的效果。

 

好了,弄完了,钦此。


推荐阅读
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 获取ul中第一个li元素的五种方法和多个ul中第一个li元素的四种方法
    本文介绍了获取ul中第一个li元素的五种方法和多个ul中第一个li元素的四种方法,包括使用jQuery的选择器和遍历方法。通过这些方法,可以方便地获取到所需的元素,并进行相应的操作。 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • 某天看jQuey的deffered对象的时候,突然想起了曾经面试的一个关于ajax的问题,就是同时发送三个ajax请求,当三个请求都成功的时候输出1,当时不知道jQuery的$.w ... [详细]
  • ajaxfileupload.js 兼容ie9,10
    在使用ajaxfileupload.js上传文件时,ie9和ie10会报INVALID_CHARACTER_ERR(5)的错误,导致无法上传成功;网上查了一系列处理方式:如:把代码 ... [详细]
  • 一、前言元素定位可以说是学自动化测试中必会技能之一,也可以说是通往自动化之路的开门钥匙。就元素定位方法,除了我们常用并熟知的8种元素定位方法之外,还有一种定位方法可以说是一种特殊的 ... [详细]
  • php和jq开发怎么使用es6,PHP与jquery
    本文目录一览:1、phpstorm怎么使用es6语法 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
author-avatar
秋林学士_809
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有