Ответы пользователя по тегу JavaScript
  • Как реализовать Сhaining в Javascript с особыми требованиями?

    @friday
    В этом случае Users лучше сделать конструктором и вызывать его, соответственно, с new, тогда getProfiles и setBlock будут методами и будут обращаться к свойству инстанса. А list лучше сделать не массивом, а объектом, так поиск по id будет работать быстрее.
    Например, так:

    var Users;
    (function(){
      var usersList = {};
      Users = function (ids) {
        this.ids = ids;
      };
      Users.prototype.getProfiles = function () {
        this.ids.forEach(function (id) {
          if (!usersList[id]) {
            usersList[id] = getProfile(id);
          }
        });
      };
      Users.serBlock = function (...) {
        var users = this.ids.reduce(function (memo, val) {return usersList[val];}, {});
        ...
      };
    })();
    Ответ написан
    Комментировать
  • Почему код не работает ?

    @friday
    При каждом вызове функции объявляется новая переменная и создаётся новый интервал. Интервал-то останавливается, но не тот, который был создан при предыдущем вызове, а новый.

    var snake = { 
         interval : {
    		right : function (start){
    			if( start == "stop"){
    				clearInterval(this.inter);
    			} else {
    				this.inter = setInterval(function(){}, 500)
    			}
    		}
    	}
    };
    
    snake.interval.right();
    snake.interval.right("stop");


    В этом случае id интервала будет лежать в snake.interval.inter, и вызов с "stop" будет останавливать именно его.
    Ответ написан
    Комментировать
  • Как посмотреть все глобальные переменные в js?

    @friday
    Глобальные переменные и есть свойства window.

    for (var prop in window) {
    if (window.hasOwnProperty(prop) {
    console.log(prop, window[prop]);
    }
    }
    Ответ написан
    1 комментарий
  • Ajax подгрузка файлов?

    @friday
    Например, так:

    <iframe name="upload-iframe" style="display: none;"></iframe> <form id="upload-form" action="/upload" target="upload-iframe" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="file-input"/> <script> $('#file-input').change(function(){ $('#upload-form').submit(); }); </script>
    Ответ написан