Skip to content

Instantly share code, notes, and snippets.

@thinkphp
Created June 3, 2010 20:27
Show Gist options
  • Save thinkphp/424425 to your computer and use it in GitHub Desktop.
Save thinkphp/424425 to your computer and use it in GitHub Desktop.
var SlideShare = new Class({
Extends: Request.JSONP,
options: {
url: 'http://query.yahooapis.com/v1/public/yql?q=use%20%22http%3A%2F%2Fthinkphp.ro%2Fapps%2Fslideshare%2FRequest.Slideshare%2Fslideshare.table.xml%22%20as%20slideshare%3B%20select%20*%20from%20slideshare%20where%20username%3D%22{username}%22',
data: {
format: 'json'
}
},
initialize: function(username,options,badgeID) {
this.options.url = this.options.url.substitute({username: username});
this.parent(options);
this.badgeID = badgeID;
}
});
new SlideShare('stoyan',{
onSuccess: function(json) {
var results = json.query.results.item, badge = document.id(this.badgeID);;
var loading = badge.getElements('span')[0];
loading.parentNode.removeChild(loading);
if(typeof results !== 'undefined') {
var ul = document.createElement('ul');
ul.id = 'slidesharelist';
for(var i=0;i<results.length;i++) {
var li = document.createElement('li');
var a = document.createElement('a');
a.setAttribute('href',results[i].link);
a.appendChild(document.createTextNode(results[i].title));
li.appendChild(a);
ul.appendChild(li);
}//end for
badge.appendChild(ul);
} else {
badge.innerHTML = 'Error retrieve data.';
}
},
onRequest: function(script){
if(window.console) {console.log(script);}
var span = document.createElement('span');
span.className = 'loading';
document.id(this.badgeID).appendChild(span);
}
},'slidesharebadge').send();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment