この水平検索結果バーを実装するにはどうすればよいですか?

WonkasWilly

私は基本的に、omdbAPIからコンテンツを取り込む水平divを持っています。一連の検索結果を動的に生成し、それらすべてを表示します。ただし、overflow: hiddenはアクティブです。

2つの質問があります:

  1. 空のdivとアイコンで作成した2つのカスタム「ボタン」があります。ホバリングしているような錯覚を与えるために、少しボックスシャドウを付けました。代わりにボタン要素を使用する方が良いですか、それとも重要ですか?

  2. 私の主な質問はこれです:矢印ボタンを使用して検索結果間を行き来できるようにしたいです。これを実装するための最良の方法は何でしょうか?私が考えることができる唯一のことは、ボタンを使用して検索結果の左マージンまたは右マージンを調整することです。(つまり、左ボタンを押すとマージンが調整されます-結果の左側は負のマージンで調整され、右矢印は正のマージンで調整されます)

ただし、これは粗雑で、あまり正確ではありません。数回クリックするだけで、コンテンツが完全にビューから押し出される可能性があります(偶然または故意に)。

これをより効率的に設定する方法はありますか?

例としていくつかのコードを次に示します。

const leftArrow = document.querySelector("#left-arrow");
const rightArrow = document.querySelector("#right-arrow");
const marginSelector = document.querySelector("#nav-margin");
var marginValue = -20;

leftArrow.addEventListener('click', () => {
  marginSelector.style.marginLeft = marginValue + "px";
  marginValue += -20;
});
.scrollbar-container {
  width: 800px;
  display: flex;
  border: 1px #5e9af9 solid;
  position: relative;
  top: 100px;
  overflow: hidden;
  margin: auto;
  align-items: center;
}

.result-container {
  display: inline-block;
  margin: 2px;
}

img {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

.nav-button {
  position: absolute;
  width: 50px;
  height: 50px;
  background: rgba(230, 232, 237, .5);
  text-align: center;
  margin: auto 0;
}

.left-arrow {
  left: 1%;
}

.right-arrow {
  right: 1%;
}

.margin-start {}
<script src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
<div class="scrollbar-container">
  <div id="nav-margin" class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>

  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>



  <div id="left-arrow" class="nav-button left-arrow">
    <i class="fas fa-angle-left fa-3x"></i>
  </div>

  <div id="left-arrow" class="nav-button right-arrow">
    <i class="fas fa-angle-right fa-3x"></i>
  </div>

</div>

グルプラサドJラオ

検索結果を前後に移動するスクリプトを作成しました。marginLeftを確認して調整する必要がありますmarginSelectorのに追加transitionしてCSS#nav-margin滑らかに見えるようにしました。marginValueで初期化されます0max-widthコンテナのは500px便宜上に設定されています。変更するときmax-widthaddEventListener、rightArrowに変更することを忘れないでくださいif条件の内部の値を動的にして、実際にから値を取得することもできます.scrollbar-container

ご不明な点がございましたら、お気軽にお問い合わせください。

const leftArrow = document.querySelector("#left-arrow");
const rightArrow = document.querySelector("#right-arrow");
const marginSelector = document.querySelector("#nav-margin");
var marginRightValue = 0;

rightArrow.addEventListener('click', () => {
  if(-(marginRightValue) <= (500+20))
    marginRightValue += -100;
  marginSelector.style.marginLeft = marginRightValue + "px";
});

leftArrow.addEventListener('click', () => {
  if(marginRightValue < 0)
      marginRightValue += 100;
   marginSelector.style.marginLeft =  marginRightValue + "px";
});
.scrollbar-container {
  max-width: 500px;
  display: flex;
  border: 1px #5e9af9 solid;
  position: relative;
  top: 100px;
  overflow: hidden;
  margin: auto;
  align-items: center;
}

#nav-margin{
  transition: all 1s;
}

.result-container {
  display: inline-block;
  margin: 2px;
}

img {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

.nav-button {
  position: absolute;
  width: 50px;
  height: 50px;
  background: rgba(230, 232, 237, .5);
  text-align: center;
  margin: auto 0;
  cursor: pointer;
}

.left-arrow {
  left: 1%;
}

.right-arrow {
  right: 1%;
}

.margin-start {}
<script src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
<div class="scrollbar-container">
  <div id="nav-margin" class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>

  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>
  <div class="result-container">
    <img src="https://i.imgur.com/dA3tjxl.gif">
  </div>



  <div id="left-arrow" class="nav-button left-arrow">
    <i class="fas fa-angle-left fa-3x"></i>
  </div>

  <div id="right-arrow" class="nav-button right-arrow">
    <i class="fas fa-angle-right fa-3x"></i>
  </div>

</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Googleの検索結果に検索バーを追加するにはどうすればよいですか?

分類Dev

検索バーの作成中にAJAX操作を実装するにはどうすればよいですか?

分類Dev

外部APIの検索結果をテーブルに表示するにはどうすればよいですか?

分類Dev

検索結果ページでタイトル(「検索結果」)の設定を解除するにはどうすればよいですか?

分類Dev

Mysql結合の実装。同じ行で結果を取得するにはどうすればよいですか?

分類Dev

jqueryでctrl + fのような検索を実装するにはどうすればよいですか?

分類Dev

MySQL を使用してバイナリ検索を実装するにはどうすればよいですか?

分類Dev

ナビゲーションバー内の検索バーでセグメント制御を実装するにはどうすればよいですか?

分類Dev

以前のxpath検索の結果からlxmlxpath検索を実行するにはどうすればよいですか?

分類Dev

Flask:すべてのビューに一般的な検索バーを書き直さずに実装するにはどうすればよいですか?

分類Dev

Azure検索からすべての結果を取得するにはどうすればよいですか?

分類Dev

Bootstrapで検索ボックスの結果をスクロールバーにするにはどうすればよいですか?

分類Dev

ASP.NET MVCでの検索結果をPDFに印刷するにはどうすればよいですか?

分類Dev

角度のあるURLバーからの直接検索を実装するにはどうすればよいですか?

分類Dev

検索結果にページ付けを追加するにはどうすればよいですか

分類Dev

Visual Studio 2017で結果の検索形式を変更するにはどうすればよいですか?

分類Dev

Google Place Geocompleteで英語の検索結果を取得するにはどうすればよいですか?

分類Dev

Elastic Searchで検索結果の順序を変更するにはどうすればよいですか?

分類Dev

Eclipseでの検索結果を取得するにはどうすればよいですか?

分類Dev

検索コマンドの最後の結果を取得するにはどうすればよいですか?

分類Dev

このコードでデバウンスを実装するにはどうすればよいですか?

分類Dev

Spring + Hibernate + MySQLで検索フィルターを実装するにはどうすればよいですか?

分類Dev

Elixirを使用してバイナリ検索ツリーの高さを再帰的に実装するにはどうすればよいですか?

分類Dev

特定の深さまで幅優先検索を実装するにはどうすればよいですか?

分類Dev

plistで文字列の検索を実装するにはどうすればよいですか?

分類Dev

「mpc検索」の結果を再生するにはどうすればよいですか?

分類Dev

特定の検索結果を削除するにはどうすればよいですかWindows7

分類Dev

svnログの検索結果を制限するにはどうすればよいですか?

分類Dev

F#のバイナリ検索ツリーに追加操作を実装するにはどうすればよいですか?

Related 関連記事

  1. 1

    Googleの検索結果に検索バーを追加するにはどうすればよいですか?

  2. 2

    検索バーの作成中にAJAX操作を実装するにはどうすればよいですか?

  3. 3

    外部APIの検索結果をテーブルに表示するにはどうすればよいですか?

  4. 4

    検索結果ページでタイトル(「検索結果」)の設定を解除するにはどうすればよいですか?

  5. 5

    Mysql結合の実装。同じ行で結果を取得するにはどうすればよいですか?

  6. 6

    jqueryでctrl + fのような検索を実装するにはどうすればよいですか?

  7. 7

    MySQL を使用してバイナリ検索を実装するにはどうすればよいですか?

  8. 8

    ナビゲーションバー内の検索バーでセグメント制御を実装するにはどうすればよいですか?

  9. 9

    以前のxpath検索の結果からlxmlxpath検索を実行するにはどうすればよいですか?

  10. 10

    Flask:すべてのビューに一般的な検索バーを書き直さずに実装するにはどうすればよいですか?

  11. 11

    Azure検索からすべての結果を取得するにはどうすればよいですか?

  12. 12

    Bootstrapで検索ボックスの結果をスクロールバーにするにはどうすればよいですか?

  13. 13

    ASP.NET MVCでの検索結果をPDFに印刷するにはどうすればよいですか?

  14. 14

    角度のあるURLバーからの直接検索を実装するにはどうすればよいですか?

  15. 15

    検索結果にページ付けを追加するにはどうすればよいですか

  16. 16

    Visual Studio 2017で結果の検索形式を変更するにはどうすればよいですか?

  17. 17

    Google Place Geocompleteで英語の検索結果を取得するにはどうすればよいですか?

  18. 18

    Elastic Searchで検索結果の順序を変更するにはどうすればよいですか?

  19. 19

    Eclipseでの検索結果を取得するにはどうすればよいですか?

  20. 20

    検索コマンドの最後の結果を取得するにはどうすればよいですか?

  21. 21

    このコードでデバウンスを実装するにはどうすればよいですか?

  22. 22

    Spring + Hibernate + MySQLで検索フィルターを実装するにはどうすればよいですか?

  23. 23

    Elixirを使用してバイナリ検索ツリーの高さを再帰的に実装するにはどうすればよいですか?

  24. 24

    特定の深さまで幅優先検索を実装するにはどうすればよいですか?

  25. 25

    plistで文字列の検索を実装するにはどうすればよいですか?

  26. 26

    「mpc検索」の結果を再生するにはどうすればよいですか?

  27. 27

    特定の検索結果を削除するにはどうすればよいですかWindows7

  28. 28

    svnログの検索結果を制限するにはどうすればよいですか?

  29. 29

    F#のバイナリ検索ツリーに追加操作を実装するにはどうすればよいですか?

ホットタグ

アーカイブ