كيفية إنشاء: معرض منتجات بتصفية

تعلم كيفية إنشاء معرض منتجات بتصفية

مجموعتي من الأعمال

انقر على الزر للفرز بناءً على فئة معينة:

الجبال
الجبال

Lorem ipsum dolor..

الشفق القطبي
الضوء

Lorem ipsum dolor..

الطبيعة
غابة

Lorem ipsum dolor..

سيارة
كلاسيكي

Lorem ipsum dolor..

سيارة
سريع

Lorem ipsum dolor..

سيارة
مودرن

Lorem ipsum dolor..

سيارة
فتاة

Lorem ipsum dolor..

سيارة
امرأة

Lorem ipsum dolor..

سيارة
رجل

Lorem ipsum dolor..

جرب بنفسك

كيفية إنشاء موقع منتجات

الخطوة الأولى - إضافة HTML:

<h2>المحفظة</h2>
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')">أظهر الكل</button>
  <button class="btn" onclick="filterSelection('nature')">الطبيعة</button>
  <button class="btn" onclick="filterSelection('cars')">السيارات</button>
  <button class="btn" onclick="filterSelection('people')">الناس</button>
</div>
الصور الشخصية للمنتجات
<div class="row">
  <div class="column nature">
    <div class="content">
      <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%">
      <h4>جبال</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column nature">
    <div class="content">
      <img src="/w3images/lights.jpg" alt="Lights" style="width:100%">
      <h4>أضواء</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column nature">
    <div class="content">
      <img src="/w3images/nature.jpg" alt="Nature" style="width:100%">
      <h4>غابة</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars1.jpg" alt="Car" style="width:100%">
      <h4>تقليدي</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars2.jpg" alt="Car" style="width:100%">
      <h4>سريع</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars3.jpg" alt="Car" style="width:100%">
      <h4>كلاسيكي</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people1.jpg" alt="People" style="width:100%">
      <h4>فتاة</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people2.jpg" alt="People" style="width:100%">
      <h4>رجل</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people3.jpg" alt="People" style="width:100%">
      <h4>امرأة</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
<!-- ينتهي الشبكة -->
</div>

الخطوة الثانية - إضافة CSS:

* {
  box-sizing: border-box;
}
body {
  background-color: #f1f1f1;
  padding: 20px;
  padding: 20px;
}
font-family: Arial;
/* تعليمات مركز الموقع */
  .main {
  max-width: 1000px;
}
margin: auto;
  h1 {
  font-size: 50px;
}
word-break: break-all;
  margin: 8px -16px;
}
/* إضافة حشوة داخلية بين الأعمدة (إذا لزم الأمر) */
.row {
.row > .column {
  padding: 8px;
}
/* إنشاء ثلاثة أعمدة متصلة متساوية في العرض */
.column {
  float: left;
  width: 33.33%;
  display: none; /* إخفاء الأعمدة بشكل افتراضي */
}
/* تنظيف الحركة بعد السطر */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* محتوى */
.content {
  background-color: white;
  padding: 10px;
}
/* يتم إضافة صفتي "show" إلى العناصر التي تم تصفيتها */
.show {
  display: block;
}
/* تعيين أنماط الزر */
.btn {
  border: none;
  outline: none;
  padding: 12px 16px;
  background-color: white;
  cursor: pointer;
}
/* إضافة لون خلفية رمادي عند التمرير فوق الأزرار */
.btn:hover {
  background-color: #ddd;
}
/* إضافة لون خلفية داكن للأزرار النشطة */
.btn.active {
  background-color: #666;
   color: white;
}

الخطوة الثالثة - إضافة JavaScript:

filterSelection("all") // تنفيذ الدالة وتظهر جميع الأعمدة
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("column");
  إذا (c == "all") c = "";
  // تضيف صفتي "show" (display:block) إلى العناصر التي تم تصفيتها، وأزالة "show" من العناصر غير المختارة
  for (i = 0; i < x.length; i++) {
    w3RemoveClass(x[i], "show");
    if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show");
  }
}
// عرض العناصر المعدة للتصفية
function w3AddClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    if (arr1.indexOf(arr2[i]) == -1) {
      element.className += " " + arr2[i];
    }
  }
}
// إخفاء العناصر غير المختارة
function w3RemoveClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    while (arr1.indexOf(arr2[i]) > -1) {
      arr1.splice(arr1.indexOf(arr2[i]), 1);
    }
  }
  element.className = arr1.join(" ");
}
// إضافة فئة "نشط" إلى الزر الحالي (تلوينه)
var btnContainer = document.getElementById("myBtnContainer");
var btns = btnContainer.getElementsByClassName("btn");
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function(){
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
  });
}

جرب بنفسك

الصفحات ذات الصلة

دليل التعليمات:كيفية إنشاء مكتبة صور الأعمال