Может ли кто-нибудь помочь мне, как изменить цвет псевдо-промежутка, добавляемого в поле ввода, когда я нажимаю кнопку «рассчитать» в приведенном ниже коде

#javascript #html #css

Вопрос:

Я Сандхья, и я пытаюсь изменить цвет псевдо-промежутка, добавленного в поле ввода, с левой стороны, когда я нажимаю кнопку «Рассчитать» в приведенном ниже коде. Я не смог добавить код, так как он показывает ошибку, Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.

   *,
        ::after,
        ::before {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Poppins', sans-serif;
        }

        .container {
            display: flex;
            width: 100%;
            height: 100vh;
        }

        .leftcontainer {
            background-color: #e9ecef;
            width: 20%;
            height: 100%;
        }

        .userprofile::after {
            content: "";
            display: block;
            background: lightgray;
            width: 100%;
            height: 1px;
            bottom: 0;
            z-index: 1;
            position: absolute;
        }

        .userprofile img {
            width: 50px;
            height: 50px;
            border-radius: 50%;
        }

        .maincontent {
            width: 100%;
            padding: 15px;
        }

        .maincontent-header p {
            text-align: justify;
            font-weight: lighter;
            font-weight: 200;
        }

        .readings {
            padding-top: 15px;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
        }

        .readings input {
            width: 100px;
            height: 50px;
            border: none;
            padding: 15px;
            font-weight: 600;
        }

        .readings input:focus,
        button:focus {
            outline: none;
        }

        .readings button:hover {
            outline: none;
            background-color: #b5e48c;
        }

        .reading-group p {
            padding-top: 5px;
            font-size: 10px;
            padding-bottom: 15px;
        }

        .readings button {
            height: 50px;
            padding: 8px 8px;
            background-color: lightgray;
            border: none;
            font-size: 15px;
            font-weight: 600;
            color: #14213d;
            cursor: pointer;
            box-sizing: border-box;
        }


        .systolic {
            position: relative;
        }

        .systolic::after {
            content: "";
            display: block;
            background: lightgray;
            width: 5px;
            height: 100%;
            bottom: 0;
            z-index: 1;
            position: absolute;
        }

        .diastolic {
            position: relative;
        }

        .diastolic::after {
            content: "";
            display: block;
            background: lightgray;
            width: 5px;
            height: 100%;
            bottom: 0;
            left: 0;
            z-index: 1;
            position: absolute;

        } 
 <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Blood Pressure Calculator</title>

</head>

<body>
    <div class="container">
        <div class="leftcontainer">
            <div class="maincontent">
                <div class="maincontent-header">
                    <p>Enter your blood pressure reading here :</p>
                </div>
                <div class="readings">
                    <div class="reading-group">
                        <span class="systolic"><input type="text" id="sys" placeholder="Systolic"></span>
                        <span class="diastolic"><input type="text" id="dys" placeholder="Diastolic"></span>
                        <button type="button" onclick="calculatebp();">Calculate</button>
                        <p>(mm Hg)</p>
                    </div>
                </div>
            </div>
        </div>
</body>

</html> 

Это конец кода, и мы надеемся на вашу поддержку.

Комментарии:

1. Пожалуйста, отредактируйте вопрос, чтобы включить в него ваши попытки решить эту проблему.

Ответ №1:

Вы, если хотите изменить цвет псевдоэлементов, можете сделать что-то вроде создания нового css для класса для нового цвета фона и добавить или удалить этот класс с помощью javascript

Положим, это css:

 .red_pseudo::after{
  background: red;
}
 

Теперь я добавляю класс при запуске функции, поэтому при добавлении класса их цвет bg изменится на красный

 let diastolic_pseudo = document.getElementsByClassName('diastolic')[0]
let systolic_pseudo = document.getElementsByClassName('systolic')[0]

function calculatebp() {
  alert('you clicked :)');
  diastolic_pseudo.classList.add('red_pseudo')
  systolic_pseudo.classList.add('red_pseudo')
}
 

Попробуйте здесь : https://codepen.io/sachuverma/pen/OJbKBbo