Почему не работает alert и console.log, а также глобальные переменные не глобальные?

var dropzone = new dropzone('#demo-upload', {
	  previewtemplate: document.queryselector('#preview-template').innerhtml,
	  paralleluploads: 2,
	  thumbnailheight: 120,
	  thumbnailwidth: 120,
	  maxfilesize: 3,
	  filesizebase: 1000,
	  thumbnail: function(file, dataurl) {
		if (file.previewelement) {
		  file.previewelement.classlist.remove("dz-file-preview");
		  var images = file.previewelement.queryselectorall("[data-dz-thumbnail]");
		  for (var i = 0; i < images.length; i++) {
			var thumbnailelement = images[i];
			thumbnailelement.alt = file.name;
			thumbnailelement.src = dataurl;
		  }
		  settimeout(function() { file.previewelement.classlist.add("dz-image-preview"); }, 1);
		}
	  }
	});
	// now fake the file upload, since github does not handle file uploads
	// and returns a 404

	var minsteps = 6,
		maxsteps = 60,
		timebetweensteps = 100,
		bytesperstep = 100000;


		
	dropzone.uploadfiles = function(files) {
	  var self = this;
	  for (var i = 0; i < files.length; i++) {

		var file = files[i];
		totalsteps = math.round(math.min(maxsteps, math.max(minsteps, file.size / bytesperstep)));

		for (var step = 0; step < totalsteps; step++) {
		  var duration = timebetweensteps * (step + 1);
		  settimeout(function(file, totalsteps, step) {
			return function() {
			  file.upload = {
				progress: 100 * (step + 1) / totalsteps,
				total: file.size,
				bytessent: (step + 1) * file.size / totalsteps
			  };

			  self.emit('uploadprogress', file, file.upload.progress, file.upload.bytessent);
			  if (file.upload.progress == 100) {
				file.status = dropzone.success;
				self.emit("success", file, 'success', null);
				self.emit("complete", file);
				self.processqueue();
				//document.getelementsbyclassname("dz-success-mark").style.opacity = "1";
			  }
			};
		  }(file, totalsteps, step), duration);
		}
	  }
	}

Если перед этим кодом запускать alert и console.log то все работает. Но сразу после определения dropzone начинается хаос. Перестают работать alert и console.log переменные определенные за функцией var dropzone глобально уже не достать. Да что уж говорить про функции логирования, никакие не работают вплоть до изменения текста в блоке. Что за?
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы