0.2.4 • Published 6 years ago

node-z v0.2.4

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

Speed Tests

Event binding

With 2,500 div tags with events mouseover and mouseleave.

Z is 5.38 times faster than jQuery.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
8ms8ms8ms10ms8ms8.4msZ
42ms50ms42ms50ms42ms45.2msjQuery

With 10,000 div tags with events mouseover and mouseleave.

Z is 7.09 times faster than jQuery.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
20ms21ms21ms21ms22ms21msZ
164ms160ms153ms122ms146ms149msjQuery

With 50,000 div tags events mouseover and mouseleave.

Z is 6.74 times faster than jQuery.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
117ms114ms106ms112ms111ms112msZ
713ms766ms732ms772ms794ms755.4msjQuery

Setting CSS

With 2,500 div tags setting all divs to font-size: 40px.

Z is 1.47 times faster than jQuery.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
10ms9ms9ms10ms11ms9.8msZ
14ms15ms14ms15ms14ms14.4msjQuery

With 10,000 div tags setting all divs to font-size: 40px.

Z is 1.62 times faster than jQuery.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
38ms30ms35ms26ms29ms31.6msZ
49ms48ms49ms52ms58ms51.2msjQuery

With 50,000 div tags setting all divs to font-size: 40px.

Z is 1.41 times faster than jQuery.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
170ms160ms166ms128ms170ms158.8msZ
219ms236ms205ms201ms255ms223.2msjQuery

With 250,000 div tags setting all divs to font-size: 40px.

jQuery errors out. Z doesn't.

Run 1Run 2Run 3Run 4Run 5AverageLibrary
1496ms1484ms1471ms1480ms1478ms1481.8msZ
*****unknownjQuery

* 'Maximum call stack size exceeded'

Import

<script src="https://cdn.jsdelivr.net/gh/roecrew/Z@v2.4/z.min.js"></script>
npm install node-z

Methods

.e(selector)

String 'selector' -> optional | If undefined then last used selector is used.

Returns Array of DOMElement

.index(element)

DOMElement 'selector' -> required

Returns index

.on(event, selector, func);

String 'event' -> required

String 'selector' -> required

Function 'func' -> required

Returns nothing

.off(event, selector, funct);

String 'event' -> required

String 'selector' -> required

Function 'func' -> required

Returns nothing

.css(declaration, selector);

String 'declaration' -> required

String or DOMElement 'selector' -> optional | If undefined then last used selector (String) is used.

Returns nothing

.each(selector, callback);

String 'selector' -> optional | If undefined then last used selector is used.

Function 'callback' -> required

Returns nothing

.addStyle(innerHTML, id)

String 'innerHTML' -> required

String 'id' -> required

Returns nothing

.removeStyle(id);

String 'id' -> required

Returns nothing

.fadeIn(selector, value);

String 'selector' -> optional | If undefined then last used selector is used.

String 'value' -> required

Returns nothing

.fadeOut(selector, value);

String 'selector' -> optional | If undefined then last used selector is used.

String 'value' -> required

Returns nothing

.ajax(options, callback);

Object 'options' -> required

Function 'callback' -> required

Returns nothing

Example

var z = new Z();
    
z.on('mousedown', 'div', (e) => {
  z.css({'transition': '3s color', 'color': '#135791'}, 'div:nth-of-type(' + (z.index(e) + 1) + ')');
});
    
z.on('mouseup', 'div', () => {
  z.css({'color': ''});
});
    
z.addStyle('@keyframes example {from {background-color: red;}to {background-color: yellow;}}', 'newStyleId');
z.css({'animation': 'example 3s'}, 'div:nth-of-type(1)');
    
setTimeout(() => {
  z.css({'animation': ''}, 'div:nth-of-type(1)');
  z.removeStyle('newStyleId');
}, 5000);
    
z.each((elem, i) => {
  console.log(elem);
});

z.ajax({method: 'get', url: 'http:\/\/freegeoip.net\/json\/', headers: {'Accept':'application/json'}}, function(data) {
  z.e('.stats')[0].innerHTML = '<span>IP: '+data.ip+' City: '+data.city+'\nZip: '+data.zip_code+'&nbsp;</span><span></span>';
});
0.2.4

6 years ago

0.1.0

6 years ago