Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.07.2015, 19:00
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

рони, чудасия какая-то, открываю ваш пример в ie, всё работает, открываю свой файлик - нет изза доктайпа html5 чтоли?
Ответить с цитированием
  #12 (permalink)  
Старый 06.07.2015, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от sash003
доктайпа html5 чтоли?
да
если нужно без DOCTYPE
тогда без document.querySelector
var input = document.getElementsByTagName("input")[0] ;

или document.getElementById
Ответить с цитированием
  #13 (permalink)  
Старый 06.07.2015, 22:30
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

рони, благодарю!
Я наверно вам уже надоел, но гляньте ещё, пожалуйста, делаю мини джейквери для народа, не хочет работать slideUp
function _init_(el){
       this.s = document.querySelectorAll(el);
   }
   
 // главная и самая сложная функшн
 function _A_(el){
     return new _init_(el)      
 }

_init_.prototype.css = function(obj){
    if(typeof obj === 'object'){
     for (var e = 0; e < this.s.length; e++){
         for (i in obj){
         this.s[e].style[i] = obj[i];   
     }   
     }
     return this;
    }
    else {
        if(obj === 'width') return this.s[0].offsetWidth;
        if(obj === 'height') return this.s[0].offsetHeight
        else return this.s[0].style[obj] || getComputedStyle(this.s[0])[obj];
    }    
} 

_init_.prototype.attr = function(){
    
}

_init_.prototype.slideUp = function (duration){
   
   this.css({'overflow' : 'hidden'});
   var height = parseInt(this.css('height'));
   for(var  i = 1; i <= height ; i++){      
       (function(i){
          setTimeout(function(){
                    this.css({'height' : (height-i)+'px'});  // this.css is not a function. хотя overflow устанавливает перед этим 
          }, i*duration/height);   
       })(i); 
    } 
    return this;
}
Ответить с цитированием
  #14 (permalink)  
Старый 06.07.2015, 23:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

sash003,
таймер ничего не знает про твой this -- сохрани
31 var self = this;
37 self.css
Ответить с цитированием
  #15 (permalink)  
Старый 06.07.2015, 23:38
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Не работает, консоль молчит как подкупленная Да что за напасть такая, что не копни, кругом засада
Ответить с цитированием
  #16 (permalink)  
Старый 06.07.2015, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

sash003,
делайте макет
Ответить с цитированием
  #17 (permalink)  
Старый 06.07.2015, 23:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

sash003,

<!DOCTYPE HTML>



<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
   <style type="text/css">
   p{
     height: 200px;
     background-color: #0000CC;
   }

   </style>
</head>

<body>

<p></p>
<script>
function _init_(el){
       this.s = document.querySelectorAll(el);
   }

 // главная и самая сложная функшн
 function _A_(el){
     return new _init_(el)
 }

_init_.prototype.css = function(obj){
    if(typeof obj === 'object'){
     for (var e = 0; e < this.s.length; e++){
         for (i in obj){
         this.s[e].style[i] = obj[i];
     }
     }
     return this;
    }
    else {
        if(obj === 'width') return this.s[0].offsetWidth;
        if(obj === 'height') return this.s[0].offsetHeight
        else return this.s[0].style[obj] || getComputedStyle(this.s[0])[obj];
    }
}

_init_.prototype.attr = function(){

}

_init_.prototype.slideUp = function (duration){
   var self = this;
   this.css({'overflow' : 'hidden'});
   var height = parseInt(this.css('height'));
   for(var  i = 1; i <= height ; i++){
       (function(i){
          setTimeout(function(){
                    self.css({'height' : (height-i)+'px'});  // this.css is not a function. хотя overflow устанавливает перед этим
          }, i*duration/height);
       })(i);
    }
    return this;
}

var x = _A_("p");
x.slideUp(3000)
</script>
</body>

</html>
Ответить с цитированием
  #18 (permalink)  
Старый 07.07.2015, 01:44
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

БЛАГОДАРЮ, ДРУЖИЩЕ!
Я как всегда не туда смотрел ТОЛЬКО для блочных элементов работает, а я пытался ссылку скрыть. Даже для инлайн блок не работает
Ответить с цитированием
  #19 (permalink)  
Старый 07.07.2015, 05:18
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Тему не читал, ибо ишаку бортовой номер 8 давно уже показывают сервер нот фаунд.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onclick срабатывает со 2 раза в ie djonA Общие вопросы Javascript 19 25.03.2013 01:07
AJAX запрос в Internet Explorer срабатывает через раз nikolayseo jQuery 5 13.11.2012 00:13
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 13:39
Не срабатывает обертка фун-и в IE8 zilker Internet Explorer 6 16.07.2012 18:54
Не срабатывает при отсутствии в теле документа yuriii jQuery 3 06.05.2010 17:45