I'm actually in no position to be arguing this, but it comes up perpetually within communities. I don't have a CS degree, but I've been working with code for . . . well, I don't want to date the age of myself.
I don't like JavaScript. It's too garrulous, periphrastic, and it behaves like a puppet "director" attempting to recursively "show" the user where to look or go "next" on a page. Whenever I see JavaScript pages/ Django "hints" I'm like "SHUT UP!" I'm not an idiot. Most people are not as stupid as you're attempting to make them seem with those annoying little "hints."
Why not use design and fonts and style to "capture" the imagination and attention of users? Users will get it. CSS can and does this, in a subtle nature.
JavaScript wants users to sit through a PowerPoint presentation, shouting at 100X Decibels in their ears at all times, and to direct their hand movements via the mouse.
CSS "focus" handlers allows users to navigate at their own pace, the natural flow of code, quietly . . .
These are UI issues, but essentially that's the argument that most people who hail on the side of JavaScript take: in reality, they have only an illusion of control.
Quote:
CSS: Create a ton of elements to have a :hover style that adjusts the background image positions.
---
Nope. The easiest way is to create one element identifier: either a #Div or a .Class -- and reference that recursively.
Just because Javascript can be used for annoying purposes does not mean Javascript is, itself, annoying. It's just a way to execute code on the client side. CSS is not a true programming language.
>>that's the argument that most people who hail on the side of JavaScript take...
There is no holy war between Javascript and CSS, just like there are no carpenters who argue that a hammer is always better than a screwdriver. They are different tools with different purposes.
Can you explain that a bit more, I don't understand at all what you're saying.
CSS: Create a ton of elements to have a :hover style that adjusts the background image positions.
JS: use a mouseover handler and adjust the background image positions. No need for all those extra elements and :hover rules.
>> "there's nothing that JavaScript can do that CSS can't do better."
I'm not really sure if you're joking here or what.