اذهب إلى المحتوى

السؤال

نشر

في المثال التالي أقوم بالضغط على "send me a letter" الكود يعمل بشكل (console.log فعّالة) و لكن الكلاس الجديد "active" لم تعمل.

629c866e24b90_.thumb.JPG.6d837a9c1fa252a612c72943df18f678.JPG

شيفرة html

<div class="section-4">

        <h1 class="section-heading">Contact</h1>

   

        <div class="form-section">

            <img src="./img/form-img.png" alt="">

            <form >

                <input type="text" placeholder="Your Name">

                <input type="email" placeholder="Your Email">

                <textarea placeholder="Your Message"></textarea>

                <input type="submit" value="Send">

            </form>

            <input type="submit" value="Send me a letter" class="inputBtn">

           

        </div>

    </div>

شيفرة css

 

/* section-4 */

.section-4{

    font-family: 'Bellota Text', cursive;

    height: 100vh;

}

.form-section{

    width: 70%;

    background-color: #ddd;

    margin: 5px auto;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    position: relative;

}

.form-section img{

    width: 700px;

    height: 500px;

}

.form-section form{

    display: flex;

    flex-direction: column;

    position: absolute;

    width: 500px;

    margin: 10px 3px;

    background-color: #fff;

    border-radius: 10px;

    transform: scaleY(0);

    transition: transform 2s;

}

/* .form-section form:hover{

    transform-origin: bottom;

} */

.form-section form input{

    margin: 10px 2px;

    border: none;

    padding: 4px 10px;

    font-size: 15px;

    border-radius: 3px;

    border-bottom: 2px solid rgb(145, 181, 189);

    color: rgb(145, 181, 189);

    font-weight: bold;

}

.form-section form input::placeholder, .form-section form textarea::placeholder{

    color: rgb(145, 181, 189);

    font-family: 'Bellota Text', cursive;

    font-family: bold;

}

.form-section form textarea{

    margin: 10px 2px;

    border: none;

    padding: 4px 10px;

    font-size: 14px;

    border-bottom: 2px solid rgb(145, 181, 189);

    color: rgb(145, 181, 189);

    max-height: 120px;

    min-height: 100px;

    max-width: 100%;

    min-width: 70%;

}

.form-section form input[type="submit"]{

    background-color: rgb(145, 181, 189);

    color: #fff;

    width: 50%;

    margin-left: auto;

    margin-right: auto;

}

.inputBtn{

    border: none;

    width: 20%;

    padding: 10px 2px;

    position: absolute;

    background-color: #fff;

    color: rgb(145, 181, 189);

    font-size: 20px;

    font-weight: bold;

    cursor: pointer;

    text-align: center;

}

.inputBtn::after{

    content: "";

    position: absolute;

    width: 100%;

    height: 2px;

    background-color: black;

}

.active{

    transform: scaleY(1);

    transform-origin: bottom;

}

شيفرة javascript

 

// show the form

const inputBtn = document.querySelector('.inputBtn')

const showForm = document.querySelector('.form-section form')

inputBtn.addEventListener('click', ()=>{

    console.log(showForm);

    showForm.classList.add('active')

})

شكرا لكم.

Recommended Posts

  • 0
نشر

المشكلة لديك أنك لا تحدد العنصر بشكل مباشر بل تكتفي بتحديد الكلاس active , وبالتالي سوف يتم تجاهل التنسيقات الخاصة بالكلاس active , الحل أن نستخدم الخاصية !important كالتالي

.active{
    transform: scaleY(1) !important;
                         ^^^^^^^^^^
    transform-origin: bottom;
}

في هذه الحالة سوف يتم تجاهل جميع التنسيقات الاخرى لنفس العنصر ويتم تطبيق الخاصية التي لديها important , 
الحل الآخر يمكنك من خلال تحديد العنصر بشكل مباشر وصحيح كالتالي

.form-section form.active{
 ^^^^^^^^^^^^^^^^^^^^^^^
    transform: scaleY(1);
    transform-origin: bottom;
}

 

  • 0
نشر
بتاريخ 9 دقائق مضت قال محمد أبو عواد:

العنصر الذي لديه الكلاس form-section form غير موجود , هل قمت بكتابته ولكن لم ترفقه في الكود أم انك لم تكتبه؟ أرجو منك التأكد من انشائه 

العنصر غير موجود لأن "transform: scaleY(0);"

ولكن عند النقر على "send me a letter" أريد أن يصبح العنصر موجود من خلال إضافة الكلاس "active"

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...