9
Jul
One of the most useful thing on forms is an “autoselect” function. How is this work? Let’s assume that you have a standard search box:

When textbox is focused you can do three things:
- Do nothing. Let the user to delete all text. Not good for lazy people, right?
- Autoclear box. But if user want only to change a letter (typo) or add another word, then he should re-type all things. Not good for usability.
- Autoselect box content. Is just like the user double clicks on the text. How can you do this? Read further to see
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| var initValue;
$(document).ready(function(){
$(':text').each(function(){
$(this).focus(function(){
initValue = $(this).attr('value');
$(this).select();
});
$(this).blur(function(){
if($(this).val() == ''){
$(this).val(initValue);
}
});
});
}); |
What is the best thing with this? Well… If an user just leave the text box blank, that form is auto filled with previous value.
Pretty nice, huh? Well… I think is pretty useful too
3
Jul
Did you ever ask yourself how can you display a “loading” indicator when you make ajax calls using various libraries?
The simple but efficient answer is this:
1
2
3
4
5
6
| $(document).ready(function(){
$('<div id="busy">Loading...</div>')
.ajaxStart(function() {$(this).show();})
.ajaxStop(function() {$(this).hide();})
.appendTo('body');
}); |
And that’s all. You need to do this only once.
Ofcourse, you can apply some CSS styles to #busy div, using an image generated with ajaxload or something similar.
I didn’t use any other libraries (actually i used prototype with scriptaculous sometime like AGES ago), but i think all cool libraries (like jQuery) have similar methods.
Another great news: with MORE than 50 fixes (but no new features tough) jQuery UI 1.5.1 is out.
3
Jun
As you can read on the official blog, a new version of UI is available for download. Let’s see how good it is 
30
May
Ok, as i said before, i will make an article about what option you have when you want to use a carousel. As a jQuery user as I am, the first option i have is Sorgalla’s Carousel. It’s pretty easy to use but has some disadvantages:
- big size - around 50k, maybe more, without another 20k for jQuery
- some IE6 problems - yes, IE6 still has a huge market share. We still need to pull out our hair to make this piece of crap display good all pages
- you cannot highlight current tab - if you want to use it as a tab pagination, you simply cannot highlight selected tab. Or current page.
So, on an older project of mine, i wanted to use a very light script for doing this. Because i was in a really rush, i didn’t focus on unobtrusive scripts so i put some inline javascript (yes, shame on me).
1
2
3
4
| <div id="slideCtrl">
<a class="s1 s" onclick="showSlide(1);return false;" href="#">Tab 1</a>
<a class="s2" onclick="showSlide(2);return false;" href="#">Tab 2</a>
<a class="s3" onclick="showSlide(3);return false;" href="#">Tab 3</a></div> |
Ok, this is for control. The most important thing is that you can put this ANYWHERE in your page. For example, you can put controls on header and slider on footer of your page. Only your imagination is the limit.
The next thing you have to do is to put some markup:
1
2
3
4
5
6
7
8
9
10
| <div id="slider">
<div class="slider">
<div class="slideWrapper">
<div class="box">Tab 1 content</div>
<div class="box">Tab 2 content</div>
<div class="box">Tab 3 content</div>
</div>
<!--/.slideWrapper--></div>
<!--/.slider--></div>
<!--/slider--> |
This script also has some limitation:
- You can have only one on page;
- Is pretty obtrusive;
- Doesn’t do auto slide. Of course, you can set a timer for this, but i wanted an easy example.
The next thing we have to do is to set some CSS.
Width and height for carousel:
#slider {
width:674px;
height:185px;
}
(more…)
14
May
In this article we will be playing with list elements to create amazing menus.
Most html menus are created using list because LI tag is the most appropiate tag for this, giving the developer posibility to play in many ways, achivieng nice effects. I won’t touch the vertical lists because it’s their default display. Instead, i will cover some of horizontal lists.
Basic list
The basic setup for a horizontal list is to set float to list elements:
<ul id="list1">
<li><a href="#">Menu item 1</a></li>
<li><a href="#">Menu item 2</a></li>
<li><a href="#">Menu item 3</a></li>
<li><a href="#">Menu item 4</a></li>
</ul>
#list1 li {
float:left;
list-style:none;
margin-right:10px;
}
At this point we have a one level horizontal menu, created with list and you can see this on many (and i mean MANY) sites. Ofcourse, you can add some extra styles such as border, background (color or image) for links inside LI elements for getting even a nicer look. Demo here.
One level drop down menu (suckerfish)
(more…)