كيفية البحث/تصفية القائمة المنسدلة
- الصفحة السابقة فرز العناصر
- الصفحة التالية ترتيب القائمة
تعلم كيفية البحث في القائمة المنسدلة باستخدام CSS وJavaScript.
تصفية القائمة المنسدلة
إنشاء قائمة منسدلة قابلة للنقر
إنشاء قائمة منسدلة تظهر عند ضغط المستخدم على الزر.
الخطوة الأولى - إضافة HTML:
<div class="dropdown"> <button onclick="myFunction()" class="dropbtn">القائمة المنسدلة</button> <div id="myDropdown" class="dropdown-content"> <input type="text" placeholder="البحث.." id="myInput" onkeyup="filterFunction()"> <a href="#about">عن الشركة</a> <a href="#base">الأساس</a> <a href="#blog">المدونة</a> <a href="#contact">الاتصال</a> <a href="#custom">الخصوصية</a> <a href="#support">الدعم</a> <a href="#tools">أدوات</a> </div> </div>
توضيح الأمثلة:
يمكنك استخدام أي عنصر لفتح القائمة المنسدلة، مثل عنصر <button>،<a> أو <p>.
استخدم عنصر حاوي (مثل <div>) لإنشاء قائمة منسدلة، وأضف روابط القائمة المنسدلة فيه.
استخدم عنصر <div> لضمان تحديد موضع القائمة المنسدلة بشكل صحيح باستخدام CSS.
الخطوة الثانية - إضافة CSS:
/* 下拉菜单按钮 */ .dropbtn { background-color: #04AA6D; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } /* زر القائمة المنسدلة عند مرور الفأرة فوقه أو التركيز عليه */ .dropbtn:hover, .dropbtn:focus { background-color: #3e8e41; } /* حقل البحث */ #myInput { box-sizing: border-box; background-image: url('searchicon.png'); background-position: 14px 12px; background-repeat: no-repeat; font-size: 16px; padding: 14px 20px 12px 45px; border: none; border-bottom: 1px solid #ddd; } /* عند التركيز على حقل البحث أو الضغط عليه */ #myInput:focus {outline: 3px solid #ddd;} /* صندوق <div> - يستخدم لتوجيه محتويات القائمة المنسدلة */ .dropdown { position: relative; display: inline-block; } /* محتويات القائمة المنسدلة (تخفيها بشكل افتراضي) */ .dropdown-content { display: none; position: absolute; background-color: #f6f6f6; min-width: 230px; border: 1px solid #ddd; z-index: 1; } /* الروابط داخل القائمة المنسدلة */ .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } /* تغيير لون رابط القائمة المنسدلة عند مرور الفأرة فوقه */ .dropdown-content a:hover {background-color: #f1f1f1} /* عرض القائمة المنسدلة (عند الضغط على زر القائمة المنسدلة، يتم إضافة هذا الكلاس إلى صندوق .dropdown-content) */ .show {display:block;}
توضيح الأمثلة:
تم تصميم زر القائمة المنسدلة ليشمل الألوان الخلفية، الهوامش الداخلية، التأثيرات عند التسويق، إلخ.
.dropdown
استخدام position:relative
، لأننا نريد أن يكون المحتوى المنسدل في نفس المكان أسفل زر القائمة المنسدلة (من خلال استخدام position:absolute
تنفيذ).
.dropdown-content
المحتوى الحقيقي للقائمة المنسدلة. بشكل افتراضي، هو مخفي ويظهر عند التسويق (انظر أدناه). ملاحظة،min-width
تم تعيينه إلى 230px. يمكنك تعديله حسب الحاجة. تنبيه: إذا كنت ترغب في أن يكون عرض المحتوى المنسدل متساوياً مع عرض زر القائمة المنسدلة، فإنه يمكنك تعيين width
تم تعيينه إلى 100% (وبالإضافة إلى overflow
تم تعيينه إلى auto، لتمكين التمرير في الشاشات الصغيرة).
تم تصميم حقل البحث (#myInput) ليتناسب مع القائمة المنسدلة الداخلية. تم إضافة رمز البحث، وهو موجود في اليسار داخل حقل البحث، لإيضاح أن هذا في الواقع هو حقل بحث.
الخطوة الثالثة - إضافة JavaScript:
/* عند الضغط على الزر، يتحول التبديل بين إخفاء العرض وإظهاره للمحتوى المنسدل */ function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } function filterFunction() { var input, filter, ul, li, a, i; input = document.getElementById("myInput"); filter = input.value.toUpperCase(); div = document.getElementById("myDropdown"); a = div.getElementsByTagName("a"); for (i = 0; i < a.length; i++) { txtValue = a[i].textContent || a[i].innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { a[i].style.display = ""; } else { a[i].style.display = "none"; } } }
الصفحات ذات الصلة
دليل:قائمة تنقل CSS
- الصفحة السابقة فرز العناصر
- الصفحة التالية ترتيب القائمة