Fastjs (mini) framework

Door , 10 jaar geleden, 4.746x bekeken

Dit is een super klein framework(je) gemaakt met Javascript.
Ik heb dit een tijdje geleden geschreven om te oefenen met Javascript, ik weet niet of iemand er nog wat aan heeft. En om sommige vragen te voorkomen: Nee, dit framework is bij langer na niet beter dan jQuery, mootools e.t.c. wel een stuk kleiner.

** aangepast op verzoek van de auteur **

Gesponsorde koppelingen

PHP script bestanden

  1. fastjs.js

 

Er zijn 8 reacties op 'Fastjs mini framework'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Niels K
Niels K
10 jaar geleden
 
0 +1 -0 -1
Een framework op een framework? ...

Ik heb overigens code tags voor je toegevoegd zodat de code beter leesbaar is.


10 jaar geleden
 
0 +1 -0 -1
@Niels
1. Sorry beetje verkeerd getypt, wat ik bedoel is dat de functie's (zoals bijvoorbeeld $() ) lijken op die van jQuery. Dit script gebruikt verder geen jQuery...
2. Dankjewel ;)
Niels K
Niels K
10 jaar geleden
 
0 +1 -0 -1
Dat had ik al gezien ja, maar je snapt gelukkig wat ik bedoelde :)

Voor de rest is het een leuke toevoeging in de library!

Niels.
Chris -
Chris -
10 jaar geleden
 
0 +1 -0 -1
'But you can't modify it.'

Verder kijk ik niet.


10 jaar geleden
 
0 +1 -0 -1
@Chris dankje ik was vergeten de 'oude' licensie weg te doen. In de tijd dat ik het had geschreven was er iemand die een website wou overnemen (die ik had gemaakt) en waar het op stond. Dus om mezelf in te dekken heb ik die licensie toegevoegd. Dus bij deze....

Iedereen mag dus doen wat/hoe diegene wil met dit script.
Jelmer -
Jelmer -
10 jaar geleden
 
0 +1 -0 -1
Als je het fastjs noemt, dan zou ik toch tenminste gebruik proberen te maken van getElementsByClassName, querySelectorAll e.d.

En je gebruikt browser sniffing (naar de naam van de browser kijken om te zien of hij een functie ondersteunt) Test gewoon op features, dan werkt het ook met nieuwere versies van de browser (bij addEventListener/attachEvent gebruik je dit, Internet Explorer 9 zou die eerste inmiddels moeten ondersteunen want dat is de standaard)

edit: oeh nog een puntje van kritiek: je roept setTimeout met een string aan: dat is trager en je verliest je scopes (m.a.w. een heleboel flexibiliteit). Waarom niet gewoon
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
setTimeout(function() { fastjs.ready(func); }, 1)

zodat je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
function hide_on_load(className) {
    fastjs.ready(function() {
        $(className).hide();
    })
}

hide_on_load('.hidden');

oid kan doen?

edit: beter voorbeeld van probleem met scope bij fastjs.ready.


10 jaar geleden
 
0 +1 -0 -1
@Jelmer Ten eerste wil ik je heel erg bedanken voor je reactie ;) Ik zal even wat dingetjes aanpassen en vandaag nog wijzigen.

1. Krijg je met getElementsByClassName een array terug? Of alleen 1 element?
2. Niet aan gedacht, zal ik ook even aanpassen. Tevens kan ik Internet Explorer wel beter filteren op appName aangezien ie9 wel sommige javascript dingen zal ondersteunen ten aanzien van ie8<.
3. Ok, ik wist niet dat IE9 eindelijk wel iets gaf om standaarden. Ik zal het even installeren en aanpassen. Tevens zal ik ipv if (fastjs.browser.ie) gewoon if (this.attachEvent) gebruiken om te kijken of de browser de functie ondersteund.
4. Oke, ook dat wist ik niet. Zal ik ook even wijzigen.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Pim -
Pim -
10 jaar geleden
 
0 +1 -0 -1
Volgens mij kan je je selector functie veel mooier maken. Als je allemaal filters maakt voor klassen, attributen, types en id's en dan aan de van regexen de selector parsed en dan de objecten door de goede filter heen haalt.

Dus je maakt de volgende functies bij het Items object: filterClass(class), filterType(type), filterChilds() etc

En dan heb je de selector:
$('div.test #abc')

En dan doe je dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var items = new Items().filterType('div').filterClass('test').filterChilds().filterId('abc');


Dan kan je veel flexibeler selectors maken.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. fastjs.js

Labels

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.