E4D js conference jquery for professionals - js-il.com

19
Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com | Yitzchak Meirovi Web Developer Instructo Israel Financ Ministry jQuery for Professionals Israel JavaScript Conference

description

js-il.com

Transcript of E4D js conference jquery for professionals - js-il.com

Page 1: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Yitzchak MeirovichWeb Developer, Instructor

Israel Finance Ministrysite: javascriptphp.com

jQuery for Professionals

Israel JavaScript Conference

Page 2: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Why Optimize jQuery?

Page 3: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

DOM

• DOM Manipulation• Looping Made Easier

Events

• AJAX• Event Optimization

Extras

• Animations• Plugins

Page 4: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

The DOM

Page 5: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Object Literals

{name: value,name: function,name: object

}

Everything in JS is an object

JSON (JavaScript Object Notation)

Easy, efficient way to store data

Page 6: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Sizzle Selector Engine

$(".class > element")

$(".class .class .class")

$("element .class #id")

$("element [name=value]")

$("#id")

$(".class")

$("element")

$("[name=value]")

Standard Using CSS Selectors

Page 7: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Bottom Up Selection EnginejQuery selector reads from Right-to-Left

http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-think-right-to-left-with-jquery/

$('.box p'); 

LTR ? .box => p children

RTL ? All p tags => .box parent nodes

Page 8: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Selector OptimizationCaching Queries

Simple vs Compound Queries

Query OrderQuery by id --> element --> class --> compound

Use $().find(), .siblings(), .next(), prev(), .first(), .parent()

var body=$(‘body’); var main=$(‘#main’)

Page 9: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

DOM Manipulation

.hide()/.show()/.css()

.attr() vs .prop()

.clone()

.append() vs .prepend()

Use doc fragments

Reflow events

Page 10: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

The power of method chaining

$(‘selector’).css().show().animate().end().css()

How to write your own method chains

Chaining Methods

Page 11: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Looping Made Easier

What is the fastest JavaScript looping construct?

do while loop

for in loop

for loop

while loop

Arrays vs Object looping

$.each(arr,function(i,obj){

…})

Page 12: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Events

Page 13: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

AJAX

JSON

JSONP

Array

XML

$.ajax()

$.getJSON()

$.get()

$.post()Cross-domain

Callback Fx

Server Dependency

JSON Only

Page 14: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Events and Delegation

Event Delegation and bubbling

History of events in browsers

jQuery and event normalization

Custom events

Namespace eventsname.space

Page 15: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Extras

Page 16: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Animations

swing vs linear

$.animate()

Params

Callback

Built-in

$().animate({params,key:value

},speed,callback)

Page 17: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

PluginsThe basics of a jQuery

pluginHow to use a plugin

How to modify a plugin

How to write a plugin

Issues with open source plugins

Page 18: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

What’s New in 1.9 vs 2.0Development path

Legacy browser support

New / Deprecated functions

Plugin impact

Page 19: E4D js conference jquery for professionals - js-il.com

Israel JavaScript Conference | 03 – 6325707 | [email protected] | www.js-il.com |

Thanksjavascriptphp.com

Yitzchak MeirovichWeb Developer, [email protected]