Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.02.2013, 16:55
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

Vaio,
можно сделать вот такой костыль
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <div id="container">
      <input type="text" id="input_text"/>
      <input type="password" id="input_password" />
      
    </div>
    
    <input type="button" value="show/hide" onclick = "test();">
    <script>

      function $(selector){
       
        return document.querySelector(selector);
      }


      function password(params){
      
        var self = this;
        this.show = params.show;
        
        getState();
        this.getState = getState;
        params.text.onkeypress = onKeypress;
        params.password.onkeypress = onKeypress;
        
        
        function onKeypress(){
          
          var self = this;
        
          setTimeout(function(){
          
            var attr = self.getAttribute("type");
     
            if(attr == "text") params.password.value = self.value;
            else params.text.value = self.value;
            
          },0);
        
        }
        
       function getState  (){
    
          if(self.show)
          { 
            
            setDisplay(params.text, true);
             setDisplay(params.password, false);

          } 
          else 
          {
            
            setDisplay(params.text, false);
             setDisplay(params.password, true);
       
          }
        
          self.show = !self.show;
        }
      
        function setDisplay(elem, show){
        
          if(show) elem.style.display = "";
          else elem.style.display = "none";
        
        }
      }
      
      
      
   var pass = new   password({
        password:$("#input_password"),
        text:$("#input_text"),
     show:false // задает показывать ли изначально содержимое
        
      });
      
      
      function test(){
      pass.getState();//метод изменяет  состояние (показываеть скрывает)
      };
      
    </script>

  </body>
</html>
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 20.02.2013 в 18:43.
Ответить с цитированием
  #12 (permalink)  
Старый 20.02.2013, 17:09
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 03.06.2012
Сообщений: 513

cyber,
function $(selector){
return document.querySelectorAll(selector)[0];
}

А почему не так
function $(selector){
return document.querySelector(selector);
}
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #13 (permalink)  
Старый 20.02.2013, 17:15
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

Hekumok,
потому что это просто пример, и мне просто так удобней)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #14 (permalink)  
Старый 20.02.2013, 17:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Hekumok
А почему не так
Потому что не всем кажется логичное логичным. Есть еще люди - мазохисты, они тоже делают непонятные вещи ради удовольствия.
Ответить с цитированием
  #15 (permalink)  
Старый 20.02.2013, 17:27
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

просто это уже привычка, когда пишу тестовый пример в основном делаю что бы функция возвращала 1 элемент и если нужно делаю еще 1 что бы возвращала массив(нужно очень редко). Просто лень каждый раз писать $("#id")[0] и все))
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #16 (permalink)  
Старый 20.02.2013, 18:30
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 03.06.2012
Сообщений: 513

Сообщение от cyber
Просто лень каждый раз писать $("#id")[0] и все))
Ну дык зачем [0]? querySelector - это не querySelectorAll и возвращает один элемент, а не массив
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #17 (permalink)  
Старый 20.02.2013, 18:39
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

Hekumok,тупая привычка за которую нужно начинать бить себя по рукам(по тому что querySelector быстрей)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обратиться к items элемента из другого элемента и изменить его? Krepkii ExtJS 2 12.02.2013 12:53
Изменить цвет текста активной radio button xlebus Общие вопросы Javascript 2 16.04.2012 17:24
Нужно изменить favicon под IE temploid Общие вопросы Javascript 1 09.04.2012 16:49
как изменить css свойсво нескольких елементов? IIIgun Общие вопросы Javascript 17 12.08.2011 11:20
Как можно изменить URL в адресной строке браузера? балерун Events/DOM/Window 12 17.11.2009 12:08