views:

163

answers:

6

I'd like to know what can be done in a browser UI (using a browser+CSS+javascript, not using Flash or Silverlight). For example, I think it's possible to:

  • Drag and drop
  • Arrange list items horizontally, and make them behave like menu items
  • Make things on page visible or invisible, depending on where the mouse is hovering

I admit this is a broad question, but that's what I'm looking for: an overview of available UI techniques (preferably with, also, at least a little clue or hyperlink as to how to implement each one).

Do you know of such a list or dictionary?

I'm especially interested in any techniques for interaction and user input (i.e. not simply page layout and navigation where the end-user is only consuming information).


Edit: people answered that I should look to see what functionality is implemented in various 'JavaScript UI toolkits'. FWIW, the following are my brief review/summary after looking at some of the suggestions.

To summarize, I think the best answers (i.e. the easiest-to-browse collections of the most functionality) are:

+1  A: 

look at the documentation for things like mootools and jquery UI, there are plenty of examples of the crazy stuff that you can do in there.

Also check out ajaxians UI section

Allen
Thanks. Are there other packages beyond "mootools" and "jquery UI" that you'd recommend looking into? Because I don't at the moment know what else might be "like" mootools and jquery UI.
ChrisW
Those are the ones I know of and are pretty popular. However there are plenty out there. Either can be used to accomplish pretty much anything that you can imagine and typically the demos you see are of plugins that are built for those frameworks. Also, I added the ajaxian link for further reading.
Allen
prototype, script.aculo.us...
annakata
A: 

Check out JQuery and JQueryUI

Galwegian
A: 

check out jquery UI http://jqueryui.com/ as well as plugins http://plugins.jquery.com/ this is just a simple example what you can achieve via Java Script

Gripsoft
+2  A: 

A very great many things can be done in JS.

annakata
+1  A: 

Try any of these javascript libraries:

If you accept the HTML Canvas as valid HTML (Microsoft doesn't), you can do even more (requires Canvas support in your browser):

Corbin March
A: 

I think you could in principle do almost anything you can think of that involves the page changing how it looks in response to user action. I mean, js can do amazing visual effects, including pretty complex animation and vectors, and retrieve data from anywhere that allows it to using ajax, so put that way you can display anything you want how you want.

The question is how much resources these take client side. While pretty much anything is possible, not everything will necessarily be practical, and I doubt there's any reliable way to decide which things will be too resource-heavy to realistically implement on the client side.

wheresrhys
Apart from "you can display anything you want how you want", what about user input: can a user input evoke an application-specific context menu, for example (or not, because the context menu is implemented by the browser and not by the web application)? Can you have a tooltip which follows the mouse (as for example some graphics programs might display the mouse's current pixel coordinates next to the mouse)? I was expecting there are some limitations associated with the technology, and "do anything you can think of" might be an exaggeration, but I was wondering how to push those limitations...
ChrisW
... and, I was looking for a large collection specific ideas, because I want to implement some unusual user input and was hoping for some inspiration.
ChrisW
That is one thing javascript can't do - influence browser behaviour. It couldn't do much to start with, but there was a backlash from early javascript being used to annoy users with popups etc, so these days browsers tend to limit javascript somewhat.... so the context menu is a no.You can have a tooltip following the mouse - the tooltip would actually be an element in the page which is dynamically positioned in response to mousemove event.Good luck in getting ideas. It's a shame there's no obvious cool javascript ideas website I can share -I know loads of links for CSS.
wheresrhys
Oh - and also, I definitely recommend jQuery. The documentation is rubbish for beginners though (though pretty good once you've familiarised yourself a bit) but it's worth the effort - the other day I rewrote about 20 lines of javascript code in 2 lines using jQuery, and I don't have to worry about whether it wortks across browsers as jQuery takes care of it
wheresrhys