Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: в чем проблема?
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » в чем проблема?

Страниц (1): [1]
 

1. alexiy - 18 Сентября, 2013 - 23:15:06 - перейти к сообщению
решил сделать плагин что-то на подобии Placeholder
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function( $ ){
  3.   $.fn.plh = function(){
  4.                 var inputField = this.children('div').children('input');
  5.                 var label = this.children('div').children('label');
  6.                 inputField.focus(function(){
  7.                         $(this).prev('label').addClass('hide');
  8.                 });
  9.                 inputField.blur(function(){
  10.                         $(this).prev('label').addClass('show');
  11.                 });
  12.   };
  13. })( jQuery );
  14.  

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3.         <head>
  4.                 <script type = "text/javascript" src = "jquery.js"></script>
  5.                 <script type = "text/javascript" src = "jquery.placeholder.js"></script>
  6.                 <link rel="stylesheet" href="style.css"/>
  7.                 <script type = "text/javascript">
  8.                         $(document).ready(function(){
  9.                                 $('#plh_form').plh();
  10.                         });
  11.                 </script>
  12.                
  13.         </head>
  14.         <body>
  15.                 <form action="" id = "plh_form">
  16.                         <div>
  17.                                 <label for="name">Name</label>
  18.                                 <input type="text" id="name">
  19.                         </div>
  20.                         <div>
  21.                                 <label for="surname">Surname</label>
  22.                                 <input type="text" id="surname">
  23.                         </div>
  24.                         <div>
  25.                                 <label for="password">Password</label>
  26.                                 <input type="password" id="password">
  27.                         </div>
  28.                         <div>
  29.                                 <label for="city">City</label>
  30.                                 <input type="text" id="city">
  31.                         </div>
  32.                 </form>
  33.         </body>
  34. </html>
  35.  

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. form#plh_form div {
  3.         margin: 5px 20px 5px 20px;
  4.         position: relative;
  5. }
  6. form#plh_form div label {
  7.         position: absolute;
  8.         top: 3px;
  9.         left: 6px;
  10.         color: #999999;
  11. }
  12. form#plh_form div input {
  13.         margin-right: 10px;
  14.         width: 150px;
  15. }
  16. .hide{
  17.         visibility: hidden;
  18. }
  19. .show{
  20.         visibility: visible;
  21. }
  22.  

работает как и хотел, но фишка в том, что когда потыкаешь на все инпуты, если снова нажать на один из инпутов, то код не сработает, плагин сработает только один раз для каждого элемента, как это можно исправить?
2. nerv - 19 Сентября, 2013 - 00:44:40 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.     $('#plh_form').find( 'input' ).plh();
  3. });


CODE (javascript):
скопировать код в буфер обмена
  1. $.fn.plh = function() {
  2.     return this.each(function( index, item ) {
  3.         $( item )
  4.             .focus(function(){
  5.                 item.prev( 'label' ).addClass( 'hide' );
  6.             })
  7.             .blur(function(){
  8.                 item.prev( 'label' ).addClass( 'show' );
  9.             });
  10.     });
  11. };

конечно же не проверял

 

Powered by ExBB FM 1.0 RC1