日期:2011/11/01 来源:GBin1.com
因为本人是星际争霸系列游戏的忠实拥簇,所以在今天的jQuery教程中,我们将使用HTML5和jQuery插件Quicksand来创建一个超酷的星际争霸兵种效果图。希望大家喜欢!
如果你不熟悉jQuery插件Quicksand,那么推荐你查看这篇文章:2010年最佳jQuery插件
,或者去Quicksand插件
查看具体介绍。

在线演示
在线下载
HTML5代码
首先我们使用HTML5的代码来创建一个html文档,将所需的quicksand类库,及其jquery类库,还有HTML5类库倒入,如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Starcraft 2 Unit Show Demo</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="js/jquery.quicksand.js"></script>
<script src="js/gbin1.js"></script>
<!-- Our CSS stylesheet file -->
<link rel="stylesheet" href="css/styles.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<header>
<h1>Starcraft 2 Unit</h1>
</header>
<nav id="navbar"></nav>
<span id="details"></span>
<section id="container"> //所有的兵种图片显示在这里
</section>
</body>
</html>
在以上代码中,我们将在container中插入需要展示的兵种图片,如下:
<li data-tag="Terran unit"><img src="unit/scv.gif" alt="Terran unit" /></li>
<li data-tag="Protoss unit"><img src="unit/probe.gif" alt="Protoss unit" /></li>
<li data-tag="Zerg unit"><img src="unit/larva.gif" alt="Zerg unit" /></li>
<li data-tag="Terran unit"><img src="unit/marine.gif" alt="Terran unit" /></li>
<li data-tag="Terran unit"><img src="unit/marauder.gif" alt="Terran unit" /></li>
<li data-tag="Terran unit"><img src="unit/reaper.gif" alt="Terran unit" /></li>
<li data-tag="Terran unit"><img src="unit/ghost.gif" alt="Terran unit" /></li>
<li data-tag="Terran unit"><img src="unit/hellion.gif" alt="Terran unit" /></li>
以上代码中,我们定义了兵种类别,分别为Terran,Protoss和Zerg单位。
在HTML5中,我们可以在data属性中存储数据,然后在jQuery中直接使用data方法调用取出,以上代码中我们将通过data-tag中定义的类别来展示所有兵种。
Javascript代码
gbin1.js
生成兵种的分类导航,如下:
$(document).ready(function(){
var items = $('#starcraft li'), itemsByTag = {};
items.each(function(i){
var elem = $(this);
//使用jQuery的html5数据处理方法取得兵种分类
var tag = elem.data('tag');
elem.attr('data-id',i);
//去空格
tag = $.trim(tag);
if(!(tag in itemsByTag)){
itemsByTag[tag] = [];
}
//添加到分类中
itemsByTag[tag].push(elem);
});
...
...
});
创建实际显示的兵种内容,如下:
function createList(text,items){
var ul = $('<ul>',{'class':'hidden'});
//生成兵种分类的数据
$.each(items,function(){
$(this).clone().appendTo(ul);
});
ul.appendTo('#container');
var a = $('<a>',{
html: text,
href:'#',
data: {list:ul}
}).appendTo('#navbar');
}
生成导航栏点击动作,并生成放大效果。
//使用live方法来给动态生成内容添加事件
$('li').live('click', function(e){
if($('#details').is(":visible")){
$('#details').hide();
}
var src = $(this).find('img').attr('src');
$('#details').html($('<img>',{
src: src,
width: '150px',
height: '150px'
}));
var details = $('#details');
var offset = $(this).offset();
$('#details').css({"left":offset.left-32, "top":offset.top-32}).show(function() {
$('#details img').animate({
width: '150px',
height: '150px',
}, 800);
});
});
分享到:
相关推荐
主要介绍了HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果,详细分析了Quicksand插件的使用及图片浮动显示的实现技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下
Quicksand是一款效果非常炫酷的jQuery超酷图片分类插件。Quicksand可以根据html5 data-id属性来进行图片分类,它提供了很多参数用于分类动画的控制,并且可以使用CSS3的缩放图片效果。
JQuery是一个非常流行的JavaScript库,它通过简化HTML文档遍历、事件处理、动画和Ajax交互,极大地简化了Web开发过程。在众多的JQuery插件中,Quicksand插件提供了一种十分炫酷的动态数据排序和过滤功能,能够通过...
Quicksand插件是jQuery的一个扩展,专为实现动态内容排序和过渡效果设计。在“jQuery_html5_图表”项目中,Quicksand被用来实现portfolio的平滑过渡和动画效果,增强了用户界面的视觉冲击力。通过对数据集的处理,...
在2010年,JavaScript框架继续日渐普及,这使得大量的插件被开发出来。...通过一个非常不错的洗牌动画实现选项内容重新排序,只需要指定源容器和替换源的目标collection 。新元素将会以奇特缩放+阿尔法效果出现
在本文中,我们将深入探讨如何使用jQuery和CSS3来实现一个引人入胜的扑克洗牌和翻转效果。这两个效果在网页互动设计中经常被用到,为用户带来更丰富的视觉体验。jQuery是一个强大的JavaScript库,它简化了DOM操作、...
jQuery 优秀插件 包含jquery-ui AnythingSlider_滑动面板 autosprites_菜单 coda-slider-2.0_滑动面板 easyslider1.7_滑动面板 jqtransform-1.1_表单转换 jquery.chromatable-1.3.0_滚动表格 jquery.uploadify-v...
使用 jQuery Quicksand 动画按类别过滤一组项目。 由于运行最新版本时出现的一些问题,这当前包括 jQuery Quicksand 1.2.2 的修改版本。 用法: 包含 JS 文件。 将“filter_grid”类添加到包装器中。 确保您的...
- **Beautiful HTML5 Portfolio**:利用jQuery和Quicksand插件创建精美的HTML5作品集。 - **Create Vector Mask using HTML5 Canvas**:教授如何利用HTML5 Canvas API创建矢量蒙版。 - **Create an Elegant Website ...
2. **ObjectAnimator**: ValueAnimator的一个子类,专门用于对对象的特定属性进行动画操作。我们可以通过ObjectAnimator.ofFloat()或ofInt()方法指定要动画化的属性和变化值。 3. **Path**: 在某些情况下,我们可能...
QuickSand 一个紧凑的C框架来分析可疑的恶意软件文档1)识别不同编码流中的攻击,2)定位和提取嵌入的可执行文件。 通过能够定位嵌入的模糊可执行文件,QuickSand可以检测包含零日或未知混淆漏洞的文档。
5. **自定义View**:`QuickSand`可能创建了一个自定义的View类,扩展了View或SurfaceView,以便实现特定的绘画和动画功能。开发者可以在onDraw()方法中绘制图片,并在onTouchEvent()中处理用户的触摸事件。 6. **帧...
demo中都封装好几个功能类,主要动画实现靠ViewPropertyAnimator, 下面几种设置动画: ViewPropertyAnimator animateText = findViewById(R.id.simple_anim_text) .animate() .setDuration(5000) .scaleXBy(.5f...
此外,还可能包含JavaScript、CSS和HTML文件,它们分别用于实现插件的功能逻辑、样式设计和用户界面。开发者可能还使用了一些图片或图标资源,以提供更直观的用户交互体验。 总的来说,“流沙”插件的出现,体现了...
我们有一个漂亮整洁的画廊。 通过单击每个类别,我们将看到该类别中的图像 通过单击每个图像,该图像将弹出,并具有在图像之间滚动的功能。 我不擅长jQuery,目前主要关注的是AngularJS,但我尝试通过在线资料...
在扑克牌动画中,可能使用`rotate()`、`scale()`等函数来实现卡片的翻转和放大缩小效果。 2. **CSS3过渡(Transitions)**:当一个CSS属性值发生变化时,过渡属性可以使这一变化过程平滑地进行。例如,通过设置`...