{"id":16619,"date":"2012-03-30T12:38:54","date_gmt":"2012-03-30T19:38:54","guid":{"rendered":"http:\/\/css-tricks.com\/?p=16619"},"modified":"2017-02-10T06:20:42","modified_gmt":"2017-02-10T13:20:42","slug":"the-javascript-ah-ha-moment","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/the-javascript-ah-ha-moment\/","title":{"rendered":"The JavaScript “Ah ha!” Moment"},"content":{"rendered":"

A number of years ago we talked about The CSS “Ah ha!” Moment<\/a>. That is, the moment in which you learned something about CSS that made it click for you and had the feeling of understanding wash over you. For CSS, mine was realizing that every element on the page was a rectangular box that lay themselves out in a particular manner and that I could affect the size, position and contents of those boxes.<\/p>\n

Let’s do it again, only for JavaScript! If you feel like you have a decent understanding of JavaScript, what was your “Ah ha!” moment?<\/strong> Or are you still waiting for it?<\/p>\n

For me, I had never written a line of JavaScript in my life but I picked up the book Learning jQuery<\/a> and started reading it on a flight. I had the moment when I realized jQuery was essentially a “find something, do something” library. I already knew CSS, and jQuery used CSS selectors for the “find something” part. “Do something” in jQuery can be as simple as “click”, “hide”, “show”, “slideToggle”, etc. Even I can do that, I thought, and I rushed to my hotel room and started playing.<\/p>\n","protected":false},"excerpt":{"rendered":"

If you feel like you have a decent understanding of JavaScript, what was your “Ah ha!” moment?<\/strong> Or are you still waiting for it?<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[1131],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":147093,"url":"https:\/\/css-tricks.com\/the-use-of-jquery-in-tutorials\/","url_meta":{"origin":16619,"position":0},"title":"The Use of jQuery in Tutorials","date":"August 20, 2013","format":false,"excerpt":"A question came up in a semi-recent ShopTalk episode about the use of jQuery in tutorials. Lately I've begun to realize how muddled the line between jQuery and JavaScript has become when learning about the language. It's hard to find a solid tutorial that doesn't include jQuery instead of JavaScript.\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":304535,"url":"https:\/\/css-tricks.com\/javascript-libraries-are-almost-never-updated-once-installed\/","url_meta":{"origin":16619,"position":1},"title":"JavaScript Libraries Are Almost Never Updated Once Installed","date":"March 4, 2020","format":false,"excerpt":"Some commentary from Zack Bloom on the Cloudflare Blog, looking at requests to CDNJS for versions of jQuery. What we don\u2019t see is a decline in our old versions which come close to the volume of growth of new versions when they\u2019re released. In fact the release of 3.4.1, as\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/03\/js-library-updates-jquery.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":303953,"url":"https:\/\/css-tricks.com\/same-html-different-css\/","url_meta":{"origin":16619,"position":2},"title":"Same HTML, Different CSS","date":"February 19, 2020","format":false,"excerpt":"Ahmad Shadeed covers the idea of a card component that has a fixed set of semantic HTML with some BEMy classes on it. There is a title, author, image, and tags. Then he redesigns the card into five totally different designs without touching any of the HTML just the CSS.\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/02\/same-html-different-css.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":161477,"url":"https:\/\/css-tricks.com\/might-need-jquery\/","url_meta":{"origin":16619,"position":3},"title":"You Might Not Need jQuery","date":"January 30, 2014","format":false,"excerpt":"I'm of the opinion that you probably usually do need jQuery (I explain why many times in my latest course on it). But I'm also of the opinion that reference guides like this a super cool and useful for those of us who came into the world of JavaScript through\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":160892,"url":"https:\/\/css-tricks.com\/dive-plain-javascript\/","url_meta":{"origin":16619,"position":4},"title":"A Dive Into Plain JavaScript","date":"January 21, 2014","format":false,"excerpt":"I think jQuery provides so much benefit it still makes sense to use on projects of even modest scope and up. But knowing how to do the simple stuff without it is very good to know, and getting pretty easy these days as long as you \"cut the mustard\" first.","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":162826,"url":"https:\/\/css-tricks.com\/multiple-simultaneous-ajax-requests-one-callback-jquery\/","url_meta":{"origin":16619,"position":5},"title":"Multiple Simultaneous Ajax Requests (with one callback) in jQuery","date":"February 13, 2014","format":false,"excerpt":"Let's say there is a feature on your website that only gets used 5% of the time. That feature requires some HTML, CSS, and JavaScript to work. So you decide that instead of having that HTML, CSS, and JavaScript on the page directly, you're going to Ajax that stuff in\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"featured_media_src_url":null,"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/16619"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=16619"}],"version-history":[{"count":10,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/16619\/revisions"}],"predecessor-version":[{"id":251364,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/16619\/revisions\/251364"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=16619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=16619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=16619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}