Условные изображения на основе HTML Вывод веб-страницы - PullRequest
1 голос
/ 27 января 2020

Итак, я довольно новичок в HTML и javascript, и у меня есть задание класса, где я пытаюсь создать веб-страницу. Мой проект состоит в том, чтобы давать предложения относительно игроков проекта NBA, учитывая, что пользователь выбирает атрибуты. Вот код, над которым я работал до сих пор:

<html>

<head>
  <title>NBA Draft Player Suggestion</title>

</head>



<body style="background-color:powderblue;">

  <style>
    body {
      background-image: url('img4.jpg');
      background-repeat: no-repeat;
      background-attachment: fixed;
      background-size: cover;
    }
  </style>


  <font color="white">


    <h1>NBA Draft Prediction</h1>
    <br>
    <br>
    <h2> Choose the required position </h2>
    <select id="Position" onchange="random()">
      <option>Choose Position</option>
      <option value="Center">Center</option>
      <option value="Scoring Forward">Scoring Forward</option>
      <option value="Slashing Forward">Slashing Forward</option>
      <option value="Two Way Forward">Two Way Forward</option>
      <option value="Combo Guard">Combo Guard</option>
      <option value="Scoring Guard">Scoring Guard</option>
      <option value="Passing Guard">Passing Guard</option>
      <option value="Play Maker">Play Maker</option>
    </select>

    <br>
    <br> You have Chosen the position of:
    <div id="output"></div>

    <!--
  <br>
  <h2> Choose the required Skills</h2>

  <form name="skills" method="post">
    <label><input type="checkbox" name="j1" value="Height" class="anyclass"id="ch1"/> Height</label>
    <label><input type="checkbox" name="j2" value="Weight" class="anyclass" id="ch2"/> Weight</label>
    <label><input type="checkbox" name="j3" value="ArmLength" class="anyclass"  id="ch3"/> Arm Length</label>
    <label><input type="checkbox" name="j4" value="FingerLength" class="anyclass" id="ch4"/> Finger Length </label><br>
-->
    <h3>You have chosen:<br>
      <textarea name="type" rows="5" cols="10"></textarea>
      <!--
<br><br>
      <button name="btn" onclick="random()">Get Result</button>

</font>

<!--
      
<a href="NBA_2nd_Page.html" class="btn btn-info" role="button">Click Here To Go To Next Page</a>
-->

<!--
      <script>
        var val = 0,
          form = document.forms.skills,
          text = skills.elements.type;
        form.addEventListener("change", function(e) {
          var checkboxes = form.querySelectorAll("[type='checkbox']");
          text.value = "";
          Array.from(checkboxes).forEach(function(checkbox) {

            if (checkbox.checked) {
              text.value += checkbox.value + "\n";
            }
          });
        });

        function random() {
          var a = document.getElementById("Position").value;
          document.getElementById("output").innerHTML = a;

          if (a == 'Center' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Center' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Center' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Center' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Centre' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Center' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Scoring Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Scoring Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Scoring Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Scoring Forward' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Scoring Forward' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Scoring Forward' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Slashing Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Slashing Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Slashing Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Slashing Forward' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Slashing Forward' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Slashing Forward' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Two Way Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Two Way Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Two Way Forward' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Two Way Forward' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Two Way Forward' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Two Way Forward' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Combo Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Combo Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Combo Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Combo Guard' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Combo Guard' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Combo Guard' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Scoring Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Scoring Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Scoring Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Scoring Guard' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Scoring Guard' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Scoring Guard' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Passing Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Passing Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Passing Guard' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Passing Guard' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Passing Guard' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Passing Guard' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6');
          } else if (a == 'Play Maker' && document.getElementById("ch1").checked == true && document.getElementById("ch2").checked == true) {
            alert('Player1');
          } else if (a == 'Play Maker' && document.getElementById("ch1").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player2');
          } else if (a == 'Play Maker' && document.getElementById("ch1").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player3');
          } else if (a == 'Play Maker' && document.getElementById("ch2").checked == true && document.getElementById("ch3").checked == true) {
            alert('Player4');
          } else if (a == 'Play Maker' && document.getElementById("ch2").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player5');
          } else if (a == 'Play Maker' && document.getElementById("ch3").checked == true && document.getElementById("ch4").checked == true) {
            alert('Player6,Player7');
          }
-->




        }
      </script>


</body>

</html>

Итак, я хочу, чтобы, учитывая, что пользователь выбирает опцию «Центр», под игроками должны появиться два изображения, а кнопка под картинкой. Как только кнопка выбрана, имена игроков должны появиться в текстовой области. Любые предложения о том, как это сделать?

Любые другие идеи, касающиеся изображений также приветствуются.

1 Ответ

0 голосов
/ 27 января 2020

Для предотвращения жесткого кодирования возможных опций может использоваться прослушиватель событий, который прослушивает изменения выбора. Это можно объединить путем фильтрации и генерации HTML для интерактивного взаимодействия. Оформить заказ демо ниже:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<h1>NBA Draft Prediction</h1>
    <div id="filters">

    </div>

    <div id="results">

    </div>
</body>
<script>
    var playersByPosition = [
        {
            name: 'Center',
            players: [
              {name: 'player1', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player2', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Scoring Forward',
            players: [
              {name: 'player3', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player4', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Slashing Forward',
            players: [
              {name: 'player5', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player6', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Two Way Forward',
            players: [
              {name: 'player7', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player8', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Combo Guard',
            players: [
              {name: 'player9', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player10', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Scoring Guard',
            players: [
              {name: 'player11', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player12', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Passing Guard',
            players: [
              {name: 'player13', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player14', image: 'https://source.unsplash.com/random/80x80'},
            ],
        },
        {
            name: 'Play Maker',
            players: [
              {name: 'player15', image: 'https://source.unsplash.com/random/80x80'},
              {name: 'player16', image: 'https://source.unsplash.com/random/80x80'},
            ],
        }
    ];

    var buildSelectors = function(positions){
        var options = positions.map(function(position){
           return '<option>' + position.name + '</option>';
        }).join('');

        return '<select class="filter" name="positions">'+options+'</select>';
    }

    var filtersElem = document.querySelector('#filters');
    var resultsElem = document.querySelector('#results');

    filtersElem.innerHTML = buildSelectors(playersByPosition);

    var filterResultsForFilterValue = function(value){
        var selectedPosition = playersByPosition.find(function(position){
            return position.name === value;
        });

        var formattedResults = selectedPosition.players.map(function(player){
            return '<div><h3>Player: ' + player.name + '</h3><img src="'+player.image+'"</div>';
        }).join('');

        resultsElem.innerHTML = formattedResults;
    };


    document.querySelectorAll('.filter').forEach(function (filter) {
        filter.addEventListener('change',function (e) {
            var selectedPosition = playersByPosition.find(function(position){
               return position.name === e.currentTarget.value;
            });

            filterResultsForFilterValue(selectedPosition.name)
        })
    })

    filterResultsForFilterValue(playersByPosition[0].name)

</script>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...