Forum > Klientspråk > JavaScript
Jag hittade ett plugin till WordPress som heter JSON API. Den returnerar ett json objekt.
Då jag antagligen kommer använda den framöver i andra projekt också, så skapade jag
ett jQuery plugin som läser in json datan och skapar en lista med postlänkar.
Här är koden till mitt jQuery plugin
Pluginet var mer hårdkodat för WP pluginet från början, men har gjort den mer generell.
Så vad säger javascriptgurun, Voigtan? ;)
Då skall vi se ;)
Jag hade inte döpt den till queryString då man kan mata in annat än en querystring, du kan använda dig av data istället ;)
jQuery plugin retunera alltid(oftast) ett objekt så man kan fortsätta med jquery kedjan exempelvis:
$("#something").getRecentPosts().hide();output.html('');
ul.appendTo(output);output.html('').append(ul);Tack för infon. Ska gå igenom koden noggrannare, satt ju i natt med detta, så mycket går att göra bättre.
Om man nu inte ska använda append så mycket, hur ska jag då kunna använda mina object av elementen?
För jag såg att shaddi hade skrivit ren html i sina jQuery exempel, det vill jag undervika så mycket det går.
Håller på att bygga om pluginet enligt hur jquery.com säger det ska se ut.
Vad är det du vill göra mot dina DOM objekt som du inte kan hämta ut senare?
Exemplet nedan så ser du skillnaden:
var ul = $("ul"),
li = null;
for(var i=0;i<10;i++){
li = $("li");
ul.append(li);
}var ul = $("ul"),
li = "";
for(var i=0;i<10;i++) {
li+="<li></li>";
}
ul.html(li);
För jag såg att shaddi hade skrivit ren html i sina jQuery exempel, det vill jag undervika så mycket det går.Best practice säger att det är bättre och snällare mot DOM:en
Vad är det du vill göra mot dina DOM objekt som du inte kan hämta ut senare?
Exemplet nedan så ser du skillnaden:
var ul = $("ul"),
li = null;
for(var i=0;i<10;i++){
li = $("li");
ul.append(li);
}var ul = $("ul"),
li = "";
for(var i=0;i<10;i++) {
li+="<li></li>";
}
ul.html(li);
Har att göra med att jag gillar att jobba med objekt mer. Känns renare och flexiblare på något sätt.
Då man ofta gör det i programmering.
Så länge webbläsare är så kassa med DOM hanteringen så är det ett korkat sätt att jobba, men som sagt du har nog inte mer än ~10 poster eller liknande så det är ju inte "dunder-jobbigt", men mycket av koden kan skrivas effektivare. thats all Im saying ;)
Så länge webbläsare är så kassa med DOM hanteringen så är det ett korkat sätt att jobba, men som sagt du har nog inte mer än ~10 poster eller liknande så det är ju inte "dunder-jobbigt", men mycket av koden kan skrivas effektivare. thats all Im saying ;)
Är alltid ute efter att effektivesera koden. Kommer använda den till att visa 3-5 poster från 1-2 kategorier. Då måste jag köra det två gånger mot json-api för wordpress. Funderar på att spara resultatet i en json fil och bara köra mot bloggen 1 gång / timmen.
2 gånger? eh... va?
edit, aha, du kör två scripts ;) now I get it :)
2 gånger? eh... va?
Då det handlar om att lista dessa i två listor. Så måste det väl köras två gånger?
$('#nyheter1').getRecentPosts({category: 'nyheter1'});
$('#nyheter2').getRecentPosts({category: 'nyheter2'});
Eller tänker jag fel?
nej, det är korrekt ;) lite trött när jag läser ibland vet du ;)
nej, det är korrekt ;) lite trött när jag läser ibland vet du ;)
Hehe.
Är det vettigt i javascript att deklarera alla variabler som man brukar göra i andra programspråk?
Exempel på hur jag gör nu.
var ul = $('ul'), li = null, link = null; osv
Det är "effektivare" när du packar koden
jag skriver det:
var ul = $('ul'),
li = null,
link = null;
eller
var ul = $('ul'),
li = link = null;
Om du vill vara lite mer hardcore ;)
Få 4 tecken mindre för varje deklaration + lite mer läsbart ;)
För jag tänkte mer på att det finns ju sidor som minifierar js koden så det blir oläsbar, men det blir färre tecken och rader.
Men det skadar inte att köra lite hardcore från början heller. Blir nog bara jag som kommer se koden om jag inte slänger ut
den för nedladdning sedan.
Detta är min bas på alla plugins jag gör nu: http://www.aspkoll.se/code/Index.asp?id=668
Detta är min bas på alla plugins jag gör nu: http://www.aspkoll.se/code/Index.asp?id=668
Tackar. Så du skapar int en variable för default options, utan skriver dom direkt i $.extend?
Måste man alltid ha med this.each...? Är det någon standard?