ホームページ  >  記事  >  ウェブフロントエンド  >  高さが異なる Web サイトに対して jQuery を使用してレスポンシブな水平ページ スライドを作成するにはどうすればよいですか?

高さが異なる Web サイトに対して jQuery を使用してレスポンシブな水平ページ スライドを作成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-29 13:10:30855ブラウズ

How can I create responsive horizontal page sliding using jQuery for a website with varying heights?

水平レスポンシブ ページ スライド

提供された画像と同様のレスポンシブ ページ ナビゲーションを設計するには、次の jQuery ソリューションを検討してください。

  • サイズの計算: スライドの数を決定し、ラッパーの幅を設定し、それに応じて各スライドの幅を設定します。
  • スライド アニメーション: バインドラッパーの左マージンをアニメーション化して、対応するスライドを表示するナビゲーション リンクへのクリック イベント。
  • アクティブ リンク: クリックされたリンクの「選択」クラスを切り替えて、アクティブ ページを強調表示します。

このアプローチにより、ナビゲーションが画面サイズに適応し、さまざまな高さのページを処理して隙間をなくすことができます。さらに、単一のメニューオカレンスを利用してマークアップを最小限に抑え、動的な数のスライドをサポートします。

<code class="js">$(document).ready(function () {
  var slideNum = $('.page').length,
    wrapperWidth = 100 * slideNum,
    slideWidth = 100 / slideNum;
  $('.wrapper').width(wrapperWidth + '%');
  $('.page').width(slideWidth + '%');

  $('a.scrollitem').click(function () {
    $('a.scrollitem').removeClass('selected');
    $(this).addClass('selected');

    var slideNumber = $($(this).attr('href')).index('.page'),
      margin = slideNumber * -100 + '%';

    $('.wrapper').animate({
      marginLeft: margin
    }, 1000);
    return false;
  });
});</code>
<code class="css">html,
body {
  height: 100%;
  margin: 0;
  overflow-x: hidden;
  position: relative;
}

nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 30px;
}

.wrapper {
  height: 100%;
  background: #263729;
}

.page {
  float: left;
  background: #992213;
  min-height: 100%;
  padding-top: 30px;
}

#page-1 {
  background: #0C717A;
}

#page-2 {
  background: #009900;
}

#page-3 {
  background: #0000FF;
}

a {
  color: #FFF;
}

a.selected {
  color: red;
}

.simulate {
  height: 2000px;
}</code>
<code class="html"><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="wrapper">
  <nav>
    <a href="#page-1" class="scrollitem selected">page 1</a>
    <a href="#page-2" class="scrollitem">page 2</a>
    <a href="#page-3" class="scrollitem">page 3</a>
  </nav>
  <div id="page-1" class="page">
    <h3>page 1</h3>
    <div class="simulate">Simulated content heigher than 100%</div>
  </div>
  <div id="page-2" class="page">
    <h3>page 2</h3>
    <div class="simulate">Simulated content heigher than 100%</div>
  </div>
  <div id="page-3" class="page">
    <h3>page 3</h3>
    <div class="simulate">Simulated content heigher than 100%</div>
  </div>
</div></code>

以上が高さが異なる Web サイトに対して jQuery を使用してレスポンシブな水平ページ スライドを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。