Переключить цвет заявления - - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу сделать оператор переключения для моей функции перетаскивания. По сути, нужно иметь возможность щелкнуть одну из четырех кнопок, указанных ниже, и заставить ее переключать функцию перетаскивания и цвета на цвет кнопки.

  • Обновление, я уже решил это 27/04


    08: 00-16: 30 08: 30-17: 00 09: 00-17: 30 09: 30-18: 00 собирать
      <script>
    var box;
    var boxArray;
    var backgroundColor;
    var text;
    boxArray = [];
    
    box = document.getElementsByClassName("sidebar");
    for ( var i = 0; i < box.length; i++ ) (function(i){
    box[i].onmousemove = function(e) {
    if(e.buttons == 1)
    box[i].style.backgroundColor = backgroundColor, box[i].innerHTML = text, box[i].style.fontSize = "10px", box[i].style.padding = "4px";
    }
    })(i);
    
    document.addEventListener("contextmenu", function (e) {
    e.preventDefault();
    }, false);
    
    
    
    function changeColor(color){
      switch(color) {
        case 'o' :
          backgroundColor = "orange";
          text = "08:00-16:30";
          break;
        case 'r' :
          backgroundColor = "red";
          text ="08:30-17:00";
          break;
        case 'g' :
          backgroundColor = "green";
          text ="09:00-17:30";
          break;
        case 'p' :
          backgroundColor = "purple";
          text ="09:00-17:30";
        }
      }
    

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Я только что решил это сам -

      <script>
    var box;
    var boxArray;
    var backgroundColor;
    var text;
    boxArray = [];

    box = document.getElementsByClassName("sidebar");
    for ( var i = 0; i < box.length; i++ ) (function(i){
    box[i].onmousemove = function(e) {
    if(e.buttons == 1)
    box[i].style.backgroundColor = backgroundColor, box[i].innerHTML = text, box[i].style.fontSize = "10px", box[i].style.padding = "4px";
    }
    })(i);

    document.addEventListener("contextmenu", function (e) {
    e.preventDefault();
    }, false);



    function changeColor(color){
      switch(color) {
        case 'o' :
          backgroundColor = "orange";
          text = "08:00-16:30";
          break;
        case 'r' :
          backgroundColor = "red";
          text ="08:30-17:00";
          break;
        case 'g' :
          backgroundColor = "green";
          text ="09:00-17:30";
          break;
        case 'p' :
          backgroundColor = "purple";
          text ="09:00-17:30";
        }
      }



      </script>
0 голосов
/ 27 апреля 2018

Вы switch оператор синтаксически неверен. Вам нужно предоставить аргумент, с которым вы хотите сравнить ваши случаи переключения, и в операторе switch вы не используете фигурные скобки.

Примерно так:

switch (color) {
   case "o":
     backgroundColor = "orange";
     break;
   case "r":
     backgroundColor = "red";
     break;
   case "g":
     backgroundColor = "green";
     break;
   case "p":
     backgroundColor = "purple";
     break;
}

Обратите внимание, что "o", "r", "g" и "p" заключены в кавычки, потому что они являются строковыми значениями. Если вы опустите кавычки, как в примере с кодом, JavaScript будет интерпретировать их как переменные, которые просто не определены.

...