{"product_id":"2940149311378","title":"jQuery Plugin Development in 30 Minutes","description":"As an experienced jQuery plugin developer and the operator of a website devoted to jQuery education, I have had many opportunities to talk with other developers and understand what works and what doesn't when it comes to learning how to build plugins. This short guide is intended to quickly get you up to speed with core concepts, which enable you to start building plugins of your own.\u003cbr\u003e\u003cbr\u003eExperienced developers know that well-written jQuery plugins can reduce bugs, increase efficiency, improve collaboration, and save time. In jQuery Plugin Development in 30 Minutes, I'll show you how to write clean and efficient jQuery plugins that are easy to maintain and collaborate on. While jQuery Plugin Development in 30 Minutes is intended for people who already have some experience with JavaScript and jQuery, most of the concepts in the guide will not require any advanced knowledge. Topics include:\u003cbr\u003e\u003cbr\u003e* Creating a plugin \u003cbr\u003e* Prototyping\u003cbr\u003e* Generate, Init, and Destroy\u003cbr\u003e* Handling events\u003cbr\u003e* Plugin options\u003cbr\u003e* Setters and Getters\u003cbr\u003e* Styling, CSS, and themes\u003cbr\u003e* Callbacks\u003cbr\u003e* Browser and mobile support\u003cbr\u003e* File organization and versioning\u003cbr\u003e* Boilerplate\u003cbr\u003e\u003cbr\u003eI've also included bonus content, including sections on jQuery methods, utilities, selectors, and events, as well as a jQuery glossary. jQuery Plugin Development in 30 Minutes really is intended to be a short but productive read -- my intention is to avoid the fluff and filler that make up 80% of most programming books, and just get straight to the point!\u003cbr\u003e\u003cbr\u003eThe full table of contents is below:\u003cbr\u003e\u003cbr\u003eIntroduction\u003cbr\u003e- About This Guide \u003cbr\u003e- Why jQuery Plugins? \u003cbr\u003e\u003cbr\u003eSection 01: Creation \u003cbr\u003e- Naming \u003cbr\u003e- Closures \u003cbr\u003e- Plugin Function \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 02: Prototyping\u003cbr\u003e- The Main Loop \u003cbr\u003e- The get() Method\u003cbr\u003e- Plugin Class\u003cbr\u003e- Prototyping\u003cbr\u003e- Summary\u003cbr\u003e\u003cbr\u003eSection 03: Conventions \u003cbr\u003e- Generate\u003cbr\u003e- Destroy \u003cbr\u003e- Init \u003cbr\u003e- $var \u003cbr\u003e- Private Functions \u003cbr\u003e- This \u0026amp; That \u003cbr\u003e- $.proxy() \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 04: Events \u003cbr\u003e- Note on .hover() \u003cbr\u003e- e.currentTarget vs e.target \u003cbr\u003e- Disabling Event Bubbling \u003cbr\u003e- Naming Events \u003cbr\u003e- Naming Functions \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 05: Options \u003cbr\u003e- Default Options \u003cbr\u003e- Plugin Options \u003cbr\u003e- Additional Options \u003cbr\u003e- Data Options \u003cbr\u003e- Advanced Options Setter \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 06: Setters and Getters \u003cbr\u003e- Setters \u003cbr\u003e- Getters \u003cbr\u003e- Methods \u003cbr\u003e- The Routine \u003cbr\u003e- Auto-Creation \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 07: CSS and Themes \u003cbr\u003e- Naming \u003cbr\u003e- CSS \u003cbr\u003e- Setting Themes \u003cbr\u003e- Multiple Themes \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 08: Effects \u003cbr\u003e- States \u003cbr\u003e- Controller \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 09: Callbacks \u003cbr\u003e- Setup \u003cbr\u003e- Ajax \u003cbr\u003e- Naming \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 10: Browser and Mobile Support \u003cbr\u003e- Browser Support \u003cbr\u003e- Extending $.support \u003cbr\u003e- Mobile Support \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 11: File Organization \u003cbr\u003e- Simple \u003cbr\u003e- With Grunt \u003cbr\u003e- Git \u003cbr\u003e- Versioning \u003cbr\u003e- Summary \u003cbr\u003e\u003cbr\u003eSection 12: Boilerplate \u003cbr\u003e\u003cbr\u003eSection 13: Conclusion \u003cbr\u003e\u003cbr\u003eBonus Content \u003cbr\u003eSection 14: jQuery Methods \u003cbr\u003eSection 15: jQuery Utilities \u003cbr\u003eSection 16: jQuery Selectors \u003cbr\u003eSection 17: jQuery Events \u003cbr\u003eGlossary","brand":"i30 Media Corporation","offers":[{"title":"Default Title","offer_id":47072899629296,"sku":"2940149311378","price":9.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0737\/7593\/9824\/files\/2940149311378_p0.jpg?v=1763714844","url":"https:\/\/shop-qa.barnesandnoble.com\/products\/2940149311378","provider":"Barnes \u0026 Noble (DEV)","version":"1.0","type":"link"}