響應(yīng)式dribbble設(shè)計(jì)作品之瀑布流布局效果發(fā)布者:本站 時(shí)間:2020-05-21 19:05:18
dribbble上得到最流行的設(shè)計(jì)作品,我們將使用如下幾個(gè)插件:
?isotope : 一個(gè)魔術(shù)布局插件,可以幫助你構(gòu)建瀑布流的頁面布局方式(注意不免費(fèi)的哦)
?Jribbble :一個(gè)幫助你方便調(diào)用dribbble API的jQuery插件
?imagesloaded:一個(gè)幫助你預(yù)先加載圖片的jQuery插件
第一步:使用jribbble來取得最受歡迎的dribbble設(shè)計(jì)內(nèi)容
首先呢,我們需要使用jribbble來取得最受歡迎的設(shè)計(jì)作品,代碼如下:
$.jribbble.getShotsByList(“popular”, function(data){
$.each(data.shots, function (i, shot) {
/* 這里我們?nèi)〉胐ribbble中的作品,注意我們得到所有的“最受歡迎”作品列表 */
});
},
{page: pagenum, per_page: 10});
使用以上代碼,我們可以分頁取得dribbble的最新設(shè)計(jì),這里我們提供 pagenum 和 per_page參數(shù),分別代碼當(dāng)前頁和每頁顯示作品數(shù)。
在$.each方法中的callback方法中,我們可以獲取相關(guān)的數(shù)據(jù),然后將數(shù)據(jù)組織成我們需要生成的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=“l(fā)inkc”>’);
items.push(‘<img src=“’ + shot.image_teaser_url + ‘” alt=“’ + shot.title + ‘”>’);
items.push(‘</a>’);
items.push(‘<div class=“author”>設(shè)計(jì)師:<a href=“’ + shot.player.url + ‘”>’ + shot.player.name + ‘</a></div></article>’);
});
在以上代碼中,我們生成了每一個(gè)設(shè)計(jì)作品的內(nèi)容,可以看到我們可以獲取作品的標(biāo)題,設(shè)計(jì)者,作品地址等等。
第二步:使用isotope來生成一個(gè)瀑布流布局效果
上面我們得到了需要展示的內(nèi)容,接下來我們將內(nèi)容添加在瀑布流展示的容器中。
注意:如果你在瀑布流布局中使用比較大的圖片的話,經(jīng)常會(huì)發(fā)現(xiàn)元素有互相疊加的問題,這是因?yàn)閳D片加載過慢,所以在圖片加載完畢之前isotope就完成了布局定位,為了解決這個(gè)問題,你需要將圖片預(yù)先加載
以下代碼生成一個(gè)瀑布流布局對(duì)象:
$wallcontent.isotope({
itemSelector : ‘a(chǎn)rticle’
});
接下來我們將上面取得的設(shè)計(jì)作品添加到這個(gè)瀑布流對(duì)象中,代碼如下:
var newEls = items.join(‘’);
var testcontent = $(newEls);
$wallcontent.append(testcontent);
$wallcontent.imagesLoaded(function(){
$wallcontent.isotope(‘a(chǎn)ppended’, testcontent).isotope(‘reLayout’);
$showmore.text(‘更多設(shè)計(jì) (More)。..’).bind(‘click’, loadshots);
});
我們將第一步生成的設(shè)計(jì)項(xiàng)目使用appended方法添加到isotope中,并且重新布局。這樣就生成了一個(gè)動(dòng)態(tài)瀑布流的布局效果。
第三步:一些錦上添花的功能
這里我們?yōu)榱烁玫挠脩趔w驗(yàn),添加了一個(gè)back to top的功能按鈕,當(dāng)用戶瀏覽很多頁的設(shè)計(jì)作品后,可以方便的滾動(dòng)到頂端。代碼如下:
$(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’);
}
}
選擇我們,優(yōu)質(zhì)服務(wù),不容錯(cuò)過
1. 優(yōu)秀的網(wǎng)絡(luò)資源,強(qiáng)大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設(shè)經(jīng)驗(yàn),優(yōu)秀的技術(shù)和設(shè)計(jì)水平,更放心
3. 全程省心服務(wù),不必?fù)?dān)心自己不懂網(wǎng)絡(luò),更省心。
------------------------------------------------------------
24小時(shí)聯(lián)系電話:021-58370032
關(guān)鍵詞標(biāo)簽:上海網(wǎng)站建設(shè) 上海網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序開發(fā)