使用HTML5和jQuery插件Quicksand實現一個超酷的星際爭霸2兵種分類展現效果

日期:2011/11/01 來源:GBin1.com
css

由於本人是星際爭霸系列遊戲的忠實擁簇,因此在今天的jQuery教程中,咱們將使用HTML5和jQuery插件Quicksand來建立一個超酷的星際爭霸兵種效果圖。但願你們喜歡!html

若是你不熟悉jQuery插件Quicksand,那麼推薦你查看這篇文章:2010年最佳jQuery插件 ,或者去Quicksand插件 查看具體介紹。html5

使用HTML5和jQuery插件Quicksand實現一個超酷的星際爭霸2兵種分類展現效果

 

在線演示 在線下載 jquery

 

HTML5代碼

首先咱們使用HTML5的代碼來建立一個html文檔,將所需的quicksand類庫,及其jquery類庫,還有HTML5類庫倒入,以下:ajax

<!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">

//全部的兵種圖片顯示在這裏api

</section> </body> </html>app

在以上代碼中,咱們將在container中插入須要展現的兵種圖片,以下:jsp

<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單位。 ide

在HTML5中,咱們能夠在data屬性中存儲數據,而後在jQuery中直接使用data方法調用取出,以上代碼中咱們將經過data-tag中定義的類別來展現全部兵種。svn

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兵種分類展現效果

相關文章
相關標籤/搜索