try:Vue, jquery顯示picasa圖片,製作image gallery
by cactus77kiki
HTML
<!--try:picasa api+不一次locad完全所有相簿,改透過點下按鈕時才獲取下一分頁內的相簿資料-->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.6/vue.min.js"></script>
<div id="albumdata">
<ul id="myList" class = "portfolio-area">
<li class="portfolio-item2" v-bind:data-id="'id-'+album.gphoto$id.$t" v-for="album in albums | orderBy 'media$group.media$title.$t' -1 ">
<!--<p ><span class="popnum" v-if="album.isnew>0">NEW!</span></p>-->
<div >
<span class="image-block">
<a class="image-zoom" v-bind:href="pageurl+album.gphoto$id.$t" >
<div class="nailthumb-container">
<img v-bind:src="coverurl(album.media$group.media$content[0].url)" />
</div>
</a>
</span>
<div class="home-portfolio-text">
<h2 class="post-title-portfolio">
<a rel="bookmark" v-bind:title="album.title.$t">{{ album.title.$t }}</a>
</h2>
<p class="post-subtitle-portfolio">共 {{ album.gphoto$numphotos.$t }} 張照片</p>
</div>
</div>
</li>
<div class="column-clear"></div>
</ul>
<br/>
<div style="text-align:center;"><div id="loadMore" >瀏覽更多(Load More)</div></div>
</div>
CSS
/* RESET STYLES */
*, html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, label, fieldset, input,p, blockquote, th, td { margin:0; padding:0 }
table { border-collapse:collapse; border-spacing:0 }
fieldset, img { border:0; }
address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal }
ol, ul, li { list-style:none }
caption, th { text-align:left }
h1, h2, h3, h4, h5, h6 {font-weight:normal;}
q:before, q:after { content:''}
strong { font-weight: bold }
em { font-style: italic }
.aligncenter { display:block; margin:0 auto }
.alignleft { float:left }
.alignright { float:right }
div { position:relative }
/* END RESET STYLES */
/*change type --s--*/
/*p{margin:5px; padding:5px; font-size:10px;}*/
/*change type --e--*/
html{-webkit-font-smoothing:antialiased;}
/*change type --s-- */
/*body{background:#f5f5f5 url("../images/bkg-pat.png") repeat scroll 0 0;font: 12px/1.5em Arial, Helvetica, sans-serif, "Arial Narrow";color:#a5a5a5;}*/
body{background:#f5f5f5 repeat scroll 0 0;font: 12px/1.8em Arial, Helvetica, sans-serif, "Microsoft JhengHei";color:#a5a5a5;}
/*a{color:#65a42d;text-decoration:none;}*/
a{color:#007979;text-decoration:none;}
/*a:hover{color:#65a42d; text-decoration:underline;}*/
.column-clear{ clear:both;}
/*--170110 change album size s --*/
/*.wrapper{ margin:0px auto; padding:0px;width:1080px;}
.portfolio-content, .portfolio-area{width:1080px;}*/
.wrapper{ margin:0px auto; padding:0px;width:1000px;}
/*#wrapper{ margin:0px auto; padding:0px;width:1000px;}*/
.portfolio-content, .portfolio-area{width:1000px;}
/*--170110 change album size e --*/
/*.title-page{font-size:40px;margin:50px 0px 60px 0px;color:#151515;}*/
.title-page{font-size:40px;margin:15px 0px 40px 0px;color:#151515;}
/*change type --e-- */
.goto{float:right;width:130px;margin:-80px 30px 0px 0px;}
/**** PORTFOLIO STYLES*****/
.portfolio-categ{margin-bottom:30px;}
.portfolio-categ li{display:inline;margin-right:10px;}
.image-block {...
JavaScript
/*
picasa 此服務已關閉,無法正常顯示圖片
*/
var url = "https://picasaweb.google.com/data/feed/api/user/105491382522976985520?deprecation-extension=true&alt=json";
jQuery.getJSON(url).success(function (data) {
getView(data);
}).complete(function () {
//ref:https://jsfiddle.net/cse_tushar/6FzSb/
size_li = $("#myList li").size();
x=20; //初始化:20筆
$('#myList li:lt('+x+')').show();
$('#loadMore').click(function () {
x= (x+12 <= size_li) ? x+12 : size_li; //按下按鈕再取12筆
$('#myList li:lt('+x+')').show();
if( size_li-x==0)
{
$('#loadMore').hide();
}
});
});
var getView = function (data) {
new Vue({
el: '#albumdata',
data: {
albums: data.feed.entry,
pageurl: 'phdetail.html?albumid=',
},
methods: {
coverurl: function (e) {
var boxss = [];
boxss = e.split("/");
var resulturl = "";
for (var i = 0; i < boxss.length; i++) {
if (i == boxss.length - 1) {
resulturl += "s240/"; //add size
}
resulturl += boxss[i];
if (i == boxss.length - 1) { }
else {
resulturl += "/";
}
}
return resulturl;
},
}
});
}