如何创建:带过滤功能的作品集画廊

学习如何创建带筛选功能的作品集画廊。

我的作品集

请点击按钮过滤某一类别:

ਪਹਾੜ
ਪਹਾੜ

Lorem ipsum dolor..

ਆਰੋਰਾ
Lights

Lorem ipsum dolor..

ਕੁਦਰਤ
Forest

Lorem ipsum dolor..

ਕਾਰ
Classic

Lorem ipsum dolor..

ਕਾਰ
Fast

Lorem ipsum dolor..

ਕਾਰ
Retro

Lorem ipsum dolor..

ਕਾਰ
Girl

Lorem ipsum dolor..

ਕਾਰ
Woman

Lorem ipsum dolor..

ਕਾਰ
Man

Lorem ipsum dolor..

ਆਪਣੇ ਤੌਰ 'ਤੇ ਸਿਖਲਾਈ ਦੇਣ

如何创建作品集网站

第一步 - 添加 HTML:

<h2>PORTFOLIO</h2>
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')"> Show all</button>
  <button class="btn" onclick="filterSelection('nature')"> Nature</button>
  <button class="btn" onclick="filterSelection('cars')"> Cars</button>
  <button class="btn" onclick="filterSelection('people')"> 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>

ਕਦਮ 2 - ਸਕ੍ਰੀਨ ਸ਼ੈੱਲ ਜੋੜੋ:

* {
  box-sizing: border-box;
}
body {
  background-color: #f1f1f1;
  padding: 20px;
  font-family: Arial;
}
/* ਸਾਈਟ ਨੂੰ ਮੱਧਮ ਸਥਾਨਿਕ ਕਰੋ */
.main {
  max-width: 1000px;
  margin: auto;
}
h1 {
  font-size: 50px;
  word-break: break-all;
}
.row {
  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;
}

ਤੀਜਾ ਪਗਲਾ - ਜਾਵਾਸਕ੍ਰਿਪਟ ਜੋੜੋ:

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";
  });
}

ਆਪਣੇ ਤੌਰ 'ਤੇ ਸਿਖਲਾਈ ਦੇਣ

ਸਬੰਧਤ ਪੰਨੇ

ਸਿੱਖਿਆ:如何创建作品集图库