超酷的响应式dribbble设计作品瀑布流布局效果
相信做设计的朋友肯定都知道dribbble.com,它是一个非常棒的设计师分享作品的网站,全世界数以万计的设计高手和行家都在这个网站上分享自己的作品,当然,如果你常在上面闲逛的话,经常得到一些免费的好东西。
在今天的这篇jQuery教程中,我们将使用jQuery的几个插件来开发一个响应式的瀑布流应用,这个应用可以帮助你实时的从dribbble上得到最流行的设计作品,我们将使用如下几个插件:
- isotope : 一个魔术布局插件,可以帮助你构建瀑布流的页面布局方式(注意不免费的哦)
- Jribbble :一个帮助你方便调用dribbble API的jQuery插件
- imagesloaded:一个帮助你预先加载图片的jQuery插件
第一步:使用jribbble来取得最受欢迎的dribbble设计内容
首先呢,我们需要使用jribbble来取得最受欢迎的设计作品,代码如下:
$.jribbble.getShotsByList("popular", function(data){
$.each(data.shots, function (i, shot) {
/* 这里我们取得dribbble中的作品,注意我们得到所有的“最受欢迎”作品列表 */
});
},
{page: pagenum, per_page: 10});
使用以上代码,我们可以分页取得dribbble的最新设计,这里我们提供 pagenum 和 per_page参数,分别代码当前页和每页显示作品数。
在$.each方法中的callback方法中,我们可以获取相关的数据,然后将数据组织成我们需要生成的html页面元素,代码如下:
var items = [];$.each(data.shots, function (i, shot) {
items.push('<article>');
items.push('<div class="details"><h2>' + shot.title + '</h2></div>');
items.push('<a href="' + shot.url + '" target="_blank" class="linkc">');
items.push('<img src="' + shot.image_teaser_url + '" alt="' + shot.title + '">');
items.push('</a>');
items.push('<div class="author">设计师:<a href="' + shot.player.url + '">' + shot.player.name + '</a></div></article>');
});
在以上代码中,我们生成了每一个设计作品的内容,可以看到我们可以获取作品的标题,设计者,作品地址等等。
第二步:使用isotope来生成一个瀑布流布局效果
上面我们得到了需要展示的内容,接下来我们将内容添加在瀑布流展示的容器中。
注意:如果你在瀑布流布局中使用比较大的图片的话,经常会发现元素有互相叠加的问题,这是因为图片加载过慢,所以在图片加载完毕之前isotope就完成了布局定位,为了解决这个问题,你需要将图片预先加载
以下代码生成一个瀑布流布局对象:
$wallcontent.isotope({
itemSelector : 'article'
});
接下来我们将上面取得的设计作品添加到这个瀑布流对象中,代码如下:
var newEls = items.join(''); var testcontent = $(newEls);
$wallcontent.append(testcontent);
$wallcontent.imagesLoaded(function(){
$wallcontent.isotope('appended', testcontent).isotope('reLayout');
$showmore.text('更多设计 (More)...').bind('click', loadshots);
});
我们将第一步生成的设计项目使用appended方法添加到isotope中,并且重新布局。这样就生成了一个动态瀑布流的布局效果。
第三步:一些锦上添花的功能
这里我们为了更好的用户体验,添加了一个back to top的功能按钮,当用户浏览很多页的设计作品后,可以方便的滚动到顶端。代码如下:
$(function(){
$('body').append('<div id="backtotop" class="showme"><div class="bttbg"></div></div>');
initGoToTop();
}); function initGoToTop() {
var orig_scroll_height = jQuery("#footer").position().top - jQuery(window).height() - 200; // fade in #top_button
jQuery(function () {
jQuery(window).scroll(function () {
//console.log(jQuery(this).scrollTop());
if (jQuery(this).scrollTop() > 100) {
jQuery('#backtotop').addClass('showme');
} else {
jQuery('#backtotop').removeClass('showme');
}
}); // scroll body to 0px on click
jQuery('#backtotop').click(function () {
jQuery('body,html').animate({
scrollTop: 0
}, 400);
return false;
});
}); if (jQuery(window).scrollTop() == 0) {
jQuery('#backtotop').removeClass('showme');
}else{
jQuery('#backtotop').addClass('showme');
}
}
地址:http://gbin1.com/gb/networks/uploads/06242ba0-40a1-45fd-946f-cc89e0df64c9/index.html
转:http://www.gbin1.com/technology/jquerytutorial/20130221-responsive-layout-for-dribbble/
超酷的响应式dribbble设计作品瀑布流布局效果的更多相关文章
- 分享29个超赞的响应式Web设计
原文自:http://www.csdn.net/article/2013-01-16/2813678-responsive-design-websites 最近几年,响应式Web设计不断印入人们眼帘, ...
- 推荐35个新鲜出炉的响应式 Web 设计实例
响应式设计的准则在于根据用户使用的屏幕的分辨率来改变网站的的布局.因此,视频或图像的大小和文本的数量,可以被视为是一个明显的变化.让你即使从智能手机浏览一个网站的时候能轻松地看到网站上的重要内容.今天 ...
- FROONT – 超棒的可视化响应式网页设计工具
FROONT 是一个基于 Web 的设计工具,在浏览器中运行,使得各类可视化设计的人员都能进行响应式的网页设计,即使是那些没有任何编码技能的设计师.FROONT 使得响应式网页设计能够可视化操作,能够 ...
- 另外一款超棒的响应式布局jQuery插件 – Freetile.js
在线演示 我们曾经介绍过俩款知名的响应式布局插:isotope和masonary,今天我们这里再介绍一款相当不错的响应式布局插件 – Freetile.js,使用它同样可以生成超酷的动态布局效果.相信 ...
- 响应式WEB设计的9项基本原则
响 应式Web设计对于解决多类型屏幕问题来说是个不错方案,但从印刷的角度来看,其却存在着很多的困难.没有固定的页面尺寸.没有毫米或英寸,没有任何物理 限制,让人感到无从下手.随着建立网站可用的各种小工 ...
- 推荐15款最佳的响应式 Web 设计测试工具
响应式网页设计是根据设备的屏幕尺寸,平台和方向来开发的网页,是一种对最终用户的行为和环境作出反应的方法.响应式设计使用灵活的网格和布局,图像和智能使用 CSS 媒体查询的组合.当从它们在不同设备使用的 ...
- 响应式WEB设计的基本原则大总结
响 应式Web设计对于解决多类型屏幕问题来说是个不错方案,但从印刷的角度来看,其却存在着很多的困难.没有固定的页面尺寸.没有毫米或英寸,没有任何物理 限制,让人感到无从下手.随着建立网站可用的各种小工 ...
- 响应式网页设计:互联网web产品RWD概念
RWD(Responsive Web Design)可称为自适应网页设计.响应式网页设计.响应式网页设计等等,是一种可以让网页的内容可以随着不同的装置的宽度来调整画面呈现的技术,让使用者可以不需要透过 ...
- 浅谈响应式Web设计与实现思路
是否还在为你的应用程序适配PC端,移动端,平板而苦苦思索呢,是否在寻找如何一套代码适配多终端方式呢,是否希望快速上手实现你的跨终端应用程序呢,是的话,那就看过来吧,本文阐述响应式UI设计相关理论基础, ...
随机推荐
- CodeForces - 600C Make Palindrome 贪心
A string is called palindrome if it reads the same from left to right and from right to left. For ex ...
- Linux-看完这篇Linux基本的操作就会了(转)
前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如 ...
- GPS数据包格式及数据包解析
GPS数据包解析 GPS数据包解析 目的 GPS数据类型及格式 数据格式 数据解释 解析代码 结构体定义 GPRMC解析函数 GPGGA解析函数 测试样例输出 gps数据包格式 gps数据解析 车联网 ...
- SHOW SLAVE STATUS解读
*************************** 1. row *************************** Slave_IO_State: ...
- 美团外卖Android Crash治理之路
Crash率是衡量一个App好坏的重要指标之一,如果你忽略了它的存在,它就会愈演愈烈,最后造成大量用户的流失,进而给公司带来无法估量的损失.本文讲述美团外卖Android客户端团队在将App的Cras ...
- python装饰器原理
妙处在于装饰器的两个return 1.装饰器 # 使用闭包 def wrap(fun): def check(): print("正在检查用户权限!") fun() return ...
- [BZOJ5293][BJOI2018]求和(倍增)
裸的树上倍增. #include<cstdio> #include<cstring> #include<algorithm> #define rep(i,l,r) ...
- C# 中判断字符串是否包含另一段字符串,请使用 Contains
使用:Contains 比 IndexOf 的性能提高很多. 因为 Contains 是判断某个字符串是否在另外一个字符串中,而IndexOf需要返回下标值.
- HTML5学习笔记1
1.HTML5概述 继html4和xhtml1.0后的超文本标记语言最新版本.最重要的三项技术:html5核心规范(标签元素),CSS3,JavaScript2008年发布,主要为了补全功能.特点:1 ...
- Word文档中的语法高亮显示代码
有时候我们程序员也需要在word文档里面显示代码,但是直接复制过去 不好看,格式也不太对,这里给大家分享一个Word文档中的语法高亮显示代码的方法 http://www.planetb.ca/synt ...