Задать вопрос
@AlexMaerz

Не понимаю как решить проблему в скрипте. Появляется ошибка:Uncaught TypeError: Cannot read properties of null (reading 'innerHTML') Как исправить?

function mouseEvent(type, sx, sy, cx, cy) {
  var evt;
  var e = {
    bubbles: true,
    cancelable: (type != "mousemove"),
    view: window,
    detail: 0,
    screenX: sx, 
    screenY: sy,
    clientX: cx, 
    clientY: cy,
    ctrlKey: false,
    altKey: false,
    shiftKey: false,
    metaKey: false,
    button: 0,
    relatedTarget: undefined
  };
  if (typeof( document.createEvent ) == "function") {
    evt = document.createEvent("MouseEvents");
    evt.initMouseEvent(type, 
      e.bubbles, e.cancelable, e.view, e.detail,
      e.screenX, e.screenY, e.clientX, e.clientY,
      e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
      e.button, document.body.parentNode);
  } else if (document.createEventObject) {
    evt = document.createEventObject();
    for (prop in e) {
    evt[prop] = e[prop];
  }
    evt.button = { 0:1, 1:4, 2:2 }[evt.button] || evt.button;
  }
  return evt;
}
var a = document.getElementsByClassName("spinner")[0],
  b = document.getElementById("speed");
a.addEventListener("mousemove", function(e){console.log("clientX:" + e.clientX +", clientY:" + e.clientY +", screenX:" + e.screenX +", screenY:" + e.screenY +", movementX:" + e.movementX);});

function bootRot(x, y){
  a.dispatchEvent(mouseEvent("mousemove", x, y, x, y));
}

function bootStart(){
  if ((b.innerHTML != "Dragging") && parseInt(b.innerHTML) < 1600){ //Ошибку пишет сюда
    var xInicial = 0, yInicial = 0;
    
        // "parseInt(b.innerHTML) < 1600": 1600 is the minimum value in RPMs from which the spinner rotates again.
    // This value can be edited!
    
    for(var ofParent = a; ofParent; ofParent = ofParent.offsetParent){
      xInicial += ofParent.offsetLeft;
      yInicial += ofParent.offsetTop;
    }
    
    var bootWidth = xInicial + a.offsetWidth,
      bootHeight = xInicial + a.offsetHeight;

    var Xs = [xInicial, (bootWidth)/2, bootHeight, (bootWidth)/2], /*[462, 591, 729, 869],*/
      Ys = [(bootHeight)/2, yInicial, (bootHeight)/2, bootHeight], /*[77, 77, 77, 77],*/
      count = 0, speedBoot = 20;
      
    // speedBoot = 20: Time in milliseconds that the mouse pointer would by points (Xs,Ys) forming a perfect circle. 
    // This value can also be edited.
    
    a.dispatchEvent(mouseEvent("mousedown", Xs[0], Ys[0], Xs[0], Ys[0]));
    
    bootRot(Xs[0], Ys[0]);
    
    setTimeout(function(){
      bootRot(Xs[1], Ys[1]);
    }, (count++)*speedBoot);
    
    setTimeout(function(){
      bootRot(Xs[2], Ys[2]);
    }, (count++)*speedBoot);
    
    setTimeout(function(){
      bootRot(Xs[3], Ys[3]);
      a.dispatchEvent(mouseEvent("mouseup", Xs[3], Ys[3], Xs[3],  Ys[3]));
    }, (count++)*speedBoot);
  }
}

var bootIntervalId = setInterval(bootStart, 1800);

// bootStart, 20: Time in milliseconds to swing reset after reaching the minimum RPM value. 
// This value can also be edited. 
// It is recommended that greater values for computers that do not have advanced hardware configuration!

function bootStop(){ // bootStop(): Command stops the execution of the script.
  clearInterval(bootIntervalId);
}
  • Вопрос задан
  • 215 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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