zoukankan      html  css  js  c++  java
  • 创建一个Dribbble的作品展示

    Most designers on dribbble have a personal portfolio website that usually consists of a name and a bit about themselves – maybe even some work.

    When it comes to updating this static page you usually put it off in favour of the booming community of dribbble as it is thriving, less hassle and quick.

    In this article I’ll explain how to create a dribbble powered portfolio that updates automatically using jRibbble.

    For this tutorial I created a simple HTML template as I didn’t want to make it more complex than it really is.

    Untitled-2

    The main point to this tutorial is to enable you to incorporate your dribbble feed into your own design. I am not teaching how to design or develop a page.

    Let’s Get Started

    I’m assuming in this tutorial you have some decent HTML & CSS knowledge and havesome understanding of JavaScript (jQuery).

    Firstly we are going to start with a basic HTML5 markup and include our: stylesheet, jQuery and jRibbble.

    <!DOCTYPE html>
    <html>
      <head>
        <title>Create a Dribbble Powered Portfolio by Ultralinx</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- Page Style -->
        <link href="css/style.css" rel="stylesheet" >
        <!--[if IE]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
      </head>
      <body>
    
        <!-- jQuery  -->
        <script src="http://code.jquery.com/jquery.js"></script>
        <!-- jRibbble -->
        <script src="js/jquery.jribbble.js"></script>
      </body>
    </html>

    You can download the barebones of this project here (The project up to this step) and follow along.

    We are then going to create a container which the feed will be displayed in and call it “dribbble-feed”. This will go inside the body.

    <section class="dribbble-feed">
          <!--Dribbble feed-->
    </section>

    This will be empty and no HTML will be written by us. jRibbble generates the HTML that will go into this container.

    If we look at the page at the present it won’t display any content. This is because we have not asked jRibbble to fetch the content for us.

    To do this we are going use the following javscript (jQuery) to tell jRibbble to get the shots and display the way we want.

    You are in control of how it’s displayed. For this tutorial I am going to get the dribbble shots and link them to their page on dribbble.

    Paste the below code outside the body but inside the html. So after “</body>” but before “</html>”.

    <script type="text/javascript">
    $(document).ready(function getDribbbleShots() {   
      $.jribbble.getShotsByPlayerId('Ultralinx', function (playerShots) {
          var html = [];
          $.each(playerShots.shots, function (i, shot) {
              html.push('<div class="shot"><a href="' + shot.url + '" target="_blank">');
              html.push('<img class="shot-image" src="' + shot.image_url + '" ');
              html.push('alt="' + shot.title + '"></a></div>');
          });
          $('.dribbble-feed').html(html.join(''));
      }, {page: 1, per_page: 9});
    });
    </script>

    What? How does that get the shots?

    Well I will break it down line by line.

    $(document).ready(function () {

    This calls jRibbble once the document (page) has loaded.

    $.jribbble.getShotsByPlayerId('UltraLinx', function (playerShots) {

    This is asking jRibbble to get the the shots for ‘Ultralinx‘. You would replace this with your dribbble username or id.

    var html = [];

    This creates an empty array of all the html we will generate below that will contain the shots.

    $.each(playerShots.shots, function (i, shot) {

    This is a for each loop. Basically it means “For Each” shot on your dribbble profile produce the following code.

    html.push('<div><a href="' + shot.url + '" target="_blank">');
    html.push('<img src="' + shot.image_url + '" ');
    html.push('alt="' + shot.title + '"></a></div>');
    });

    Each tag: “+ shot.url +”, “+ shot.image_url +” and ” + shot.title +” has a line to itself. You are in control of any classes you set for CSS customisation.

    This creates a div with the image inside that links to the dribbble page.

    $('.dribbble-feed').html(html.join(''));

    This is joins all that information stored in the array to produce the HTML and puts it in the “dribbble-feed” container we made earlier.

     }, {page: 1, per_page: 9});
    });

    This is tells jRibbble how many shots to grab per page. This isn’t the pages on your dribbble profile. A page is define by what you choose “per_page”.

    In the example I have chosen 9 shots per page which means page 2 will display shots 10-19 and so on.

    If you view the page now it should display the shots. You can then use CSS to style them to suit your needs.

    That’s it basically. My next tutorial will explain how to display more information and enable pagination.

    Quick Last Minute Tip

    As there are 9 images being loaded at once some peoples internet may not be fast enough to instantly display them all and may experience a slight delay.

    We can solve this by hiding the “dribbble-feed” until the images are loaded. Place this before the code previously written.

    $('.dribbble-feed').hide();
    jQuery(window).load(function(){
    $('.dribbble-feed').fadeIn();
    });

    This hides the container that will display the shots until it is fully loaded then fades it in.

    You can even go that bit extra and add a loading bar then hide it when the feed is loaded.

    I hope this is worthwhile to people who don’t have time to figure out the dribbble API and prefer to use jQuery in their projects.

    Download Source | Live Demo

  • 相关阅读:
    轻松实现WCF服务的构造函数依赖注入
    终于找到在Visual Studio 2010中进行“项目重命名”的有效工具
    让Entity Framework不再私闯sys.databases
    AutoMapper使用笔记
    遭遇IE8下的JavaScript兼容问题
    WCF异步调用中客户端关闭带来的性能问题
    Chrome “False Start” 引起的 Error 7 (net::ERR_TIMED_OUT): The operation timed out
    实战ASP.NET访问共享文件夹(含详细操作步骤)
    Entity Framework 理清关系 基于外键关联的单向一对一关系
    在Firefox中通过JavaScript复制到剪贴板(Copy to Clipboard)
  • 原文地址:https://www.cnblogs.com/wpbars/p/3952017.html
Copyright © 2011-2022 走看看