Bootstrap-switch
bootstrap-switch.org
bootstrap-switch.org
Say the switch is to the right, and then word ON is to the left. If you click the switch, it moves to the left. Does that mean you turned the switch on, since the switch moved to where the word "ON" was? Or does it mean the switch is off because now the word "OFF" is visible?
Even knowing the answer, as an only-occasional mobile user I still find these switches require extra cognitive load, which is not what you want from a UI element.
ON |XX | OFF
(Where XX is the sliding part).If it says on it's on, when you slide it the other way it will no doubt be off.
I remember Real Player had a bunch of 'opt-in' email options, they where in a scroll box. By default the visible ones where unticked, but if you scrolled down there where pages of preticked ones.
I think there is a reason there is no HTML element for this and that zurb/bootstrap (and their earlier ilk) don't include them either.
But, given that I lose this argument every time I appreciate projects that make them easier to implement. Thanks for sharing.
ON [--O] OFF
But that kind of defeats the purpose of the design in the first place.
This comment shouldn't be taken as a rant or complaint, I know why the current state of libraries is what it is, just an observation that jQuery seems to be, at least for me, transitioning from being 'an assumption' into 'the thing I want to get rid of'.
If anyone has statistics on this, I'd love to see them!
[1] http://statichtml.com/2011/google-ajax-libraries-caching.htm...
* Missed the bit where I can drag it halfway one way and then back to the original position
Think of the light switches in your house. They do have a label (look closely), but there's also context: By switching it one way or the other, you'll immediately see the effect when the lights turn on or off.
I don't know if it's just me, but IMO switches like these are inappropriate as a replacement for a checkbox in most forms. I could see it being useful in an app that changed the presentation of something (charts, styles, etc).
This is pretty easy to fix with:
transition: left 0.3s;
transition-timing-function: linear;Edit: nevermind, extremely laggy on mobile.