suchen
HeimWeb-FrontendFront-End-Fragen und AntwortenJQuery-Navigation über seitliches Gleiten hinaus

Im modernen Webdesign ist das Navigationsmenü eine sehr wichtige Komponente. Mit der Beliebtheit mobiler Geräte hat die Vielfalt der Bildschirmgrößen zu mehreren Herausforderungen geführt. Wenn ein Navigationsmenü zu viele Elemente enthält, kann es die Breite des Bildschirms überschreiten. Daher ist eine Möglichkeit erforderlich, den Benutzern den Zugriff auf alle Optionen zu ermöglichen. In diesem Artikel stellen wir vor, wie Sie mit jQuery ein horizontal verschiebbares Navigationsmenü implementieren.

Zuerst müssen wir die HTML-Struktur und den HTML-Stil vorbereiten. Das Folgende ist eine grundlegende Navigationsmenüstruktur:

<div class="nav-container">
  <ul class="nav">
    <li><a href="#">Home</a></li>
    <li><a href="#">About Us</a></li>
    <li><a href="#">Products</a></li>
    <li><a href="#">Contact Us</a></li>
    <li><a href="#">Blog</a></li>
    <li><a href="#">FAQs</a></li>
    <li><a href="#">Support</a></li>
    <li><a href="#">Join Us</a></li>
  </ul>
</div>

Wir verwenden CSS, um dieses Navigationsmenü horizontal anzuordnen und ihre Breite und andere Stile festzulegen.

.nav-container {
  overflow-x: scroll;
  white-space: nowrap;
}

.nav {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.nav li {
  display: inline-block;
  text-align: center;
  width: 120px;
}

.nav li a {
  display: block;
  padding: 10px;
  text-decoration: none;
}

Jetzt haben wir das grundlegende HTML und CSS bereit. Als Nächstes verwenden wir jQuery, um das Navigationsmenü horizontal zu verschieben. Wir erstellen einen Effekt, bei dem das Navigationsmenü horizontal verschoben wird, wenn auf die Pfeilschaltfläche geklickt wird.

Zuerst müssen wir einen Click-Event-Handler für die Pfeilschaltfläche hinzufügen. Hier ist ein jQuery-Codeausschnitt, der Klicks auf linke und rechte Pfeiltasten erkennt und das Navigationsmenü basierend auf der Richtung der Pfeiltasten verschiebt:

$('.nav-arrow').on('click', function() {
  var direction = $(this).data('direction');
  var distance = $('.nav li:first-child').outerWidth();

  if (direction === 'prev') {
    $('.nav-container').animate({scrollLeft: '-=' + distance});
  } else {
    $('.nav-container').animate({scrollLeft: '+=' + distance});
  }
});

Wir haben den Pfeiltasten ein Datenrichtungsattribut hinzugefügt, um zwischen links und rechts zu unterscheiden Pfeiltasten. Wenn der Benutzer auf die Pfeilschaltfläche klickt, erkennen wir die Eigenschaft data-direction und verwenden die animate()-Methode von jQuery, um die Position des Navigationsmenüs reibungslos zu verschieben.

Wir können auch einige interaktive Effekte hinzufügen, um das Benutzererlebnis zu verbessern. Wenn der Benutzer beispielsweise das äußerste linke oder rechte Ende des Navigationsmenüs erreicht, können wir die entsprechenden Pfeiltasten deaktivieren.

$('.nav-container').on('scroll', function() {
  var distance = $('.nav li:first-child').outerWidth();
  var scrollLeft = $(this).scrollLeft();

  if (scrollLeft === 0) {
    $('.nav-arrow.prev').addClass('disabled');
  } else {
    $('.nav-arrow.prev').removeClass('disabled');
  }

  if (scrollLeft + distance >= $('.nav').outerWidth()) {
    $('.nav-arrow.next').addClass('disabled');
  } else {
    $('.nav-arrow.next').removeClass('disabled');
  }
});

Wir haben einen Scroll-Event-Handler hinzugefügt, um die Scroll-Position des Navigationsmenüs zu erkennen. Wenn wir ganz nach links scrollen, fügen wir der linken Pfeilschaltfläche eine deaktivierte Klasse hinzu, sodass sie nicht angeklickt werden kann. Ebenso fügen wir die deaktivierte Klasse für die rechte Pfeiltaste hinzu, wenn wir ganz nach rechts scrollen.

Schließlich können wir eine Initialisierungsfunktion hinzufügen, um den Anfangszustand der Pfeiltasten und des Navigationsmenüs festzulegen.

function initNav() {
  var distance = $('.nav li:first-child').outerWidth();
  var navWidth = $('.nav').outerWidth();
  var containerWidth = $('.nav-container').outerWidth();

  if (navWidth > containerWidth) {
    $('.nav-arrow.next').removeClass('disabled');
  }

  $('.nav-arrow').css('top', ($('.nav').outerHeight() / 2 - $('.nav-arrow').outerHeight() / 2));

  $('.nav li').each(function() {
    var itemWidth = $(this).outerWidth();
    if (itemWidth > distance) {
      distance = itemWidth;
    }
  });

  $('.nav li').each(function() {
    $(this).css('width', distance + 'px');
  });
}

initNav();

In der Funktion initNav() ermitteln wir zunächst die Breite des Navigationsmenüs und die Breite des Containers. Wenn die Breite des Navigationsmenüs die Breite des Containers überschreitet, aktivieren wir die rechte Pfeiltaste.

Als nächstes zentrieren wir die Pfeilschaltflächen vertikal und stellen die Navigationsmenüelemente auf die gleiche Breite ein. Da die Breite jedes Menüelements unterschiedlich sein kann, müssen wir die maximale Breite des Menüelements ermitteln und festlegen.

Bisher haben wir jQuery vollständig verwendet, um den horizontalen Gleiteffekt des Navigationsmenüs zu erzielen. Sie können die vollständige Code-Implementierung auf der folgenden JSFiddle anzeigen:

https://jsfiddle.net/36qa5x1t/

Zusammenfassung:

In diesem Artikel wird erläutert, wie Sie mit jQuery den horizontalen Gleiteffekt des Navigationsmenüs erzielen. Wir haben die grundlegende HTML- und CSS-Struktur eingeführt und dieses Navigationsmenü durch das Hinzufügen von Click- und Scroll-Ereignishandlern und einigen interaktiven Effekten verfeinert. Ich hoffe, dass Sie durch diesen Artikel besser verstehen, wie Sie mit jQuery interaktive Effekte auf Webseiten erzielen.

Das obige ist der detaillierte Inhalt vonJQuery-Navigation über seitliches Gleiten hinaus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
CSS: Kann ich mehrere IDs im selben DOM verwenden?CSS: Kann ich mehrere IDs im selben DOM verwenden?May 14, 2025 am 12:20 AM

Nein, you sollte nichtusemultipIdsinthesamedom.1) idsmustbeuniqueperhtmlspecification und UseDuplicateSconstinconsistentBrowserBehavior.2) Useclassesforstylingmultipleements, AttributeStorgetargetingBytributes undDesschonten- und Desschütten und Desschütten und Desschuhteilen und Desschüttungen und Desschüttungen

Die Ziele von HTML5: Erstellen eines leistungsfähigeren und zugänglichen WebsDie Ziele von HTML5: Erstellen eines leistungsfähigeren und zugänglichen WebsMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebcapabilities,makingitmoredynamic,interactive,andaccessible.1)Itsupportsmultimediaelementslikeand,eliminatingtheneedforplugins.2)Semanticelementsimproveaccessibilityandcodereadability.3)Featureslikeenablepowerful,responsivewebappl

Bedeutende Ziele von HTML5: Verbesserung der Webentwicklung und BenutzererfahrungBedeutende Ziele von HTML5: Verbesserung der Webentwicklung und BenutzererfahrungMay 14, 2025 am 12:18 AM

Html5aimstoenhancewebdevelopment undseRexperiencethroughsemanticsstruktur, Multimediaintegration und PerformanceimProvements.1) semanticelements wie und impovereadability und Accessibility.2) und TagsallownessmultimediaMeddingdingdingDingdingdingdingwithaugleDeUtPlugin.

HTML5: Ist es sicher?HTML5: Ist es sicher?May 14, 2025 am 12:15 AM

Html5isnotinherentiNecure, ButitsFeaturesCanleadtoseCurityRiksifmisusesedOrimProperlyImplemented.1) UsethesandboxattributeIniframestocontrolembeddedContentandPreventVulerabilitsLiKeClickjacking.2) meiden

HTML5 -Tore im Vergleich zu älteren HTML -VersionenHTML5 -Tore im Vergleich zu älteren HTML -VersionenMay 14, 2025 am 12:14 AM

Html5AimedToenHancewebdevelopmentByIntrocingSemanticelemente, Nativemultimediasupport, verbesserte Formelemente und OfflineKapabilitäten, kontrastübergreifend mit THTHTHTHTHIMITIMITATIONSOFHTML4ANDXHTML.1) ITINTREIDEMANTICTAGAGAGAGAGAGAGAGAGAGEN, AUSGRISSIERUNGEN

CSS: Ist es schlecht, ID -Selektor zu verwenden?CSS: Ist es schlecht, ID -Selektor zu verwenden?May 13, 2025 am 12:14 AM

Die Verwendung von ID -Selektoren ist in CSS nicht von Natur aus schlecht, sollte aber mit Vorsicht verwendet werden. 1) ID -Selektor eignet sich für eindeutige Elemente oder JavaScript -Hooks. 2) Für allgemeine Stile sollten Klassenauswahlern verwendet werden, da sie flexibler und wartbarer sind. Durch die Ausbindung der Verwendung von ID und Klasse kann eine robustere und effizientere CSS -Architektur implementiert werden.

HTML5: Tore im Jahr 2024HTML5: Tore im Jahr 2024May 13, 2025 am 12:13 AM

Html5'Sgoalsin2024FocusonRefinement undoptimization, NotnewFeatures

Was sind die Hauptbereiche, in denen sich HTML5 verbessern versucht hat?Was sind die Hauptbereiche, in denen sich HTML5 verbessern versucht hat?May 13, 2025 am 12:12 AM

Html5AimedToimProvewebdevelopmentInfourKeyAreaas: 1) Multimediasupport, 2) Semanticsstruktur, 3) FormCapabilities und 4) Offline und StorageOptions.1) html5Introducuedand und vereinfachen mediaMbeddinganddingandenhancingSexperience.2)

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Nordhold: Fusionssystem, erklärt
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung