Ajax Loader
×
HTML
<form action="#" class="search">
1
<form action="#" class="search">
2
          <input id="submit" value="" type="submit">
3
          <label for="submit" class="submit"></label>
4
          <!-- trigger button and input -->
5
          <a href="javascript: void(0)" class="icon"></a>
6
          <input type="search" name="Search" id="search" placeholder="Search">
7
</form>
8
 
9
<script class="cssdeck" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
 
CSS
/* Basics */
1
/* Basics */
2
 
3
 
4
* {
5
  box-sizing: border-box;
6
}
7
 
8
body {
9
  background: #212121;
10
}
11
 
12
form {
13
  width: 200px;
14
  height: 40px;
15
  margin: 100px auto 0;
16
  position: relative;
17
}
18
 
19
/* Début */
20
 
21
#submit { display: none; opacity: 0; }
22
form .icon, form .submit { width: 35px; height: 35px; display: block; position: absolute; top: 0; right: 0; }
23
form .submit { cursor: pointer; }
24
 
25
/* Création de la loupe */
26
form .icon:after, form .submit:after  { content: ''; position: absolute; width: 80px; height: 80px; border: 18px solid white; border-radius: 50%; left: 10px; top: 9px; }
27
 
28
/* Poignet de la Loupe */
29
form .icon:before, form .submit:before { content: ''; position: absolute; height: 80px; width: 20px; background: white; top: 100px; left: 111px; transform: rotate(-35deg);
30
  -moz-transform: rotate(-35deg); -webkit-transform: rotate(-35deg); -o-transform: rotate(-35deg); -ms-transform: rotate(-35deg); }
31
  
32
form .icon:hover:after, form .submit:hover:after { border: 18px solid #2980b9; border-radius: 50%; }
33
form .icon:hover:before, form .submit:hover:before { background: #2980b9; }
34
 
35
/* Styler le input */
36
form #search { -webkit-appearance: none; height: 11px; width: 0; position: absolute; padding: 0; opacity: 0; border: 2px solid #2980b9; 
37
  outline: none; position: absolute; right: 35px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
38
 
39
/* Fin */
 
JavaScript
// Début JS
1
// Début JS
2
jQuery(document).ready(function($) {
3
  $('.submit').fadeOut('1');
4
});
5
 
6
$(".icon").click(function() {
7
  var icon = $(this), input = icon.parent().find("#search"), submit = icon.parent().find(".submit"), is_submit_clicked = false;
8
  submit.fadeIn('1');
9
  // Animation du champs
10
  input.animate({ "width": "165px", "padding": "10px", "opacity": 1 }, 300, function() { input.focus(); });
11
  submit.mousedown(function() { is_submit_clicked = true; });
12
  // On cache l'icone
13
  icon.fadeOut(300);
14
  // Et on cache l'input dès la perte de focus.
15
  input.blur(function() { if(!input.val() && !is_submit_clicked) { input.animate({ "width": "0", "padding": "0", "opacity": 0 }, 200); icon.fadeIn(200); }; });
16
});
 

Untitled

CSSDeck G+