圣诞、元旦要来了,公司以往基本每个月至少要搞一两款手机小游戏来宣传产品,这次也不例外!!

之前做过,按压柚子、许愿、吃柚子等等小游戏,这次是做个那种 气球向上飘动,戳破气球,随机获取奖品。如下图:

手机端和PC端都有做,其中比较麻烦的就是随机生成各种颜色的气球,向上飘动。位置、大小、颜色都是随机的。。

我就封装成JQuery插件。。方便调用。。

吐槽一下,这种游戏比较适合手机端,PC端体验不好,而且根据统计PC端基本没人玩;但是没办法,老大们说PC端、移动端都要做。。那咱搞起呗!!!

PC版:http://www.uzise.com/topic-balloon

移动版:http://mobile.uzise.com/topic-balloon

或者微信扫描进入:

  

PS:现在只是向上飘动,可以扩展一下,比如左右飘动,向下飘动,用于气泡、下雪??等等。。抽空再把这插件扩展一下。。

/**
* 气球或者泡泡向上飘动
* $(".box").fly({
* photos: ["images/red.png", "images/yellow.jpg"]
* });
* Created by 赵欢磊 on 2014/12/10
* http://www.cnblogs.com/huanlei/
*/ ;(function($) {
$.fn.extend({
fly: function(options) {
options = $.extend({
minSize: , //气球最小尺寸
maxSize: , //气球最大尺寸
interval: , //气球生成时间间隔,数值越小气球越多
photos: [] //气球一张或多张图片,数组
}, options); var timer,
box = $(this),
boxHeight = box.height(),
boxWidth = box.width(),
len = options.photos.length,
photo = $("<img/>").css({"position": "absolute"});
box.css({"position": "relative", "overflow": "hidden"});
if (!len) return; //至少一张图片,否则不执行下面的
timer = setInterval(function() {
var photoSrc = options.photos[Math.floor(Math.random() * len)],
photoWidth = parseInt(options.minSize) + Math.random() * (parseInt(options.maxSize) - parseInt(options.minSize)),
startTop = boxHeight,
endTop = "-100%",
startLeft = Math.floor(Math.random() * boxWidth),
endLeft = Math.abs(startLeft - Math.floor(Math.random() * boxWidth)),
duration = parseInt(boxHeight * + Math.random() * );
if (!photoSrc.trim()) return; //图片src不能是空的
photo.clone().attr("src", photoSrc).appendTo(box).css({
top: startTop,
left: startLeft,
width: photoWidth
}).animate({
top: endTop,
left: endLeft
}, duration, "linear", function() {
$(this).remove();
});
}, options.interval);
}
});
})(jQuery);

气球或者泡泡向上飘动 jQuery插件的更多相关文章

  1. js最详细的基础,jquery 插件最全的教材

    一.Js的this,{},[] this是Javascript语言的一个关键字,随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是调用的函数自己. { } 大括号 ...

  2. 40 个让你的网站更加友好的 jQuery 插件

    一个插件的基本功能是执行一个含有元素集合的函数数组.每个方法和jQuery核心组成一个插件,如.fadeOut()或.addClass().一个jQuery插件是一个基本的可以扩充jQuery 原型对 ...

  3. 40个让你的网站屌到爆的jQuery插件

    一 个插件的基本功能是执行一个含有元素集合的函数数组.每个方法和jQuery核心组成一个插件,如.fadeOut()或.addClass().一个 jQuery插件是一个基本的可以扩充jQuery 原 ...

  4. 15款帮助你实现响应式导航的 jQuery 插件

    对于我们大多数人来说,建立一个负责任的布局中最困难的方面是规划和导航的实现.由于没有真正经得起考验的通用解决方案,您可以使用的菜单设计风格将取决于正在建设的网站类型. 无论你正在建设什么类型的网站,在 ...

  5. 推荐几个jQuery插件

    jQuery仿京东无限级菜单HoverTree http://www.cnblogs.com/jihua/p/hvtree.html 多级弹出菜单jQuery插件ZoneMenu http://www ...

  6. 全屏滚动-jQuery插件实现

    全屏滚动 <---很久没写了,这段忙了点,以后还是每周尽量写点东西---> 在很多情况下,我们需要页面的全屏滚动,尤其是移动端.今天简要的介绍一下全屏滚动的知识. 一.全屏滚动的原理 1. ...

  7. 2014年50个程序员最适用的免费JQuery插件

    有用的jQuery库是设计师和开发者之间一个非常熟悉的短语.这是现在互联网中最流行的JavaScript函数库之一.每个设计师和开发人员都应该知道它的重要性,而且熟悉它的功能和特点. jQuery几乎 ...

  8. 期待已久的2012年度最佳jQuery插件揭晓

    近日,国外著名博客WDL发布了2012年度最佳 jQuery 插件.jQuery 自2006年发布以来,经过6年的迅速发展,目前已是最流行和使用最广泛的 JavaScript 框架,这主要归功于众多围 ...

  9. 如何创建一个自定义jQuery插件

    简介 jQuery 库是专为加快 JavaScript 开发速度而设计的.通过简化编写 JavaScript 的方式,减少代码量.使用 jQuery 库时,您可能会发现您经常为一些常用函数重写相同的代 ...

随机推荐

  1. Connect教程系列--响应式布局(一)

    微软终于跨平台了,最近在第九频道(Event-Visual Studio)下面出来一系列关于vs2015的视频,介绍vs2015以及.NET5.0的新特性等,现针对其讲解的.NET和ASP.NET,进 ...

  2. Yii中设置时间分区

    在wamp环境下,运行一个Php yii的项目 出现问题: Use of undefined constant PRC - assumed 'PRC' 检测我的环境 PHP5.3 检测Php.ini中 ...

  3. asp.net froms 移动平台(iphone 微信)无法存储的解决办法。

    更改form的默认设置,让系统不再根据设备来判断是否支持cookie 在站点的配置文件中有关于Form认证的配置,在配置<authentication mode="Forms" ...

  4. ASP.NET WEB API 中的路由调试与执行过程跟踪

    路由调试 RouteDebugger 是调试 ASP.NET MVC 路由的一个好的工具,在ASP.NET WEB API中相应的有 WebApiRouteDebugger ,Nuget安装 Inst ...

  5. Java Config 下的Spring Test方式

    用了三种方式: 1.纯手动取bean: package com.wang.test; import com.marsmother.commission.core.config.MapperConfig ...

  6. SVN中Branch的创建与合并

    在使用源代码版本控制工具时,最佳实践是一直保持一个主干版本.但是为了应付实际开发中的各种情况,适时的开辟一些分支也是很有必要的.比如在持续开发新功能的同时,需要发布一个新版本,那么就需要从开发主干中建 ...

  7. 微软Dynamics 使用葡萄城的Wijmo 5提供移动端用户界面

    近日,全球最大的控件提供商葡萄城公司宣布: 葡萄城近日与微软公司达成合作,将Wijmo 产品线的HTML5和JaveScript 控件融合到微软Dynamics CRMOnline 2016版中. 随 ...

  8. clientHeight,offsetHeight与scrollHeight的相关知识

    在html里,width与height是最常用也是最基础的两个属性,因此,在js里,我们也经常需要操作这两个属性.js关于这两个属性提供了client*,offset*与scroll*,很多同学搞不清 ...

  9. CSS3系列之3D制作 再研究

    水平翻转效果: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  10. 利用nodejs模块缓存机制创建“全局变量”

    在<深入浅出nodejs>有这样一段(有部分增减): 1.nodejs引入模块分四个步骤 路径分析 文件定位 编译执行 加入内存 2.核心模块部分在node源代码的编译过程中就编译成了二级 ...