Heim > Web-Frontend > Front-End-Fragen und Antworten > So heben Sie die obere und untere Vue-Unschärfe auf

So heben Sie die obere und untere Vue-Unschärfe auf

PHPz
Freigeben: 2023-04-17 09:52:41
Original
543 Leute haben es durchsucht

In Vue.js erstellen wir manchmal eine Scroll-Ansicht, und in der Scroll-Ansicht können einige seltsame Effekte auftreten. Einer davon ist der Auf- und Ab-Unschärfeeffekt. Dieser Effekt lässt Ihre Bildlaufansicht ein- und ausblenden.

Aber manchmal möchten Sie diesen Effekt vielleicht aufheben. Denn dieser Effekt sieht manchmal nicht sehr gut aus und kann Benutzer verwirren. In diesem Artikel stellen wir vor, wie Sie die oberen und unteren Unschärfeeffekte von Vue aufheben können.

Die erste Methode: Scroll-Rebound-Effekt abbrechen

Vue.js Standard-Scrollverhalten verleiht Ihrer Scroll-Ansicht einen elastischen Effekt. Wenn Sie nach unten oder oben scrollen, kehrt die Scroll-Ansicht um eine gewisse Distanz zurück. Dieses Verhalten ist der Scroll-Rebound-Effekt. Wenn Sie die oberen und unteren Unschärfeeffekte aufheben möchten, können Sie dies tun, indem Sie den Scroll-Rebound-Effekt aufheben.

Sie können den folgenden Code in den montierten Lebenszyklus-Hook der Komponente einfügen: mounted生命周期钩子中引入以下代码:

mounted () {
  const container = this.$refs.container;
  container.addEventListener('touchmove', this.preventScroll, { passive: false });
  container.addEventListener('touchend', this.allowScroll, { passive: false });
},
methods: {
  preventScroll (event) {
    event.preventDefault();
  },
  allowScroll () {
    const container = this.$refs.container;
    const scrollTop = container.scrollTop;
    const scrollHeight = container.scrollHeight;
    const height = container.clientHeight;
    const maxScroll = scrollHeight - height;
    if (scrollTop === 0 || scrollTop === maxScroll) {
      container.removeEventListener('touchmove', this.preventScroll);
    }
  }
}
Nach dem Login kopieren

以上代码会取消滚动回弹效果,并且它还会处理滚动到顶部和底部的情况。如果你的滚动视图中设置了overflow: hidden,这种方法将不适用。

第二种方法:使用一些CSS技巧

如果你不想禁用滚动回弹效果,那么你可以使用一些CSS技巧来取消Vue的上下模糊效果。

你可以在你的组件样式表中加入以下代码:

::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}
Nach dem Login kopieren

以上代码针对的是Webkit内核的浏览器(比如Chrome或者Safari),它会隐藏滚动条并且取消上下模糊效果。如果你想支持其他类型的浏览器(比如Firefox),你可以使用以下代码:

* {
  scrollbar-width: none !important;
}
Nach dem Login kopieren

以上代码会在所有元素中隐藏滚动条。但是需要注意的是,这种方法会同时取消水平和垂直滚动条。

第三种方法:使用自定义指令

Vue.js中有一个自定义指令的特性可以让我们在HTML元素上添加复杂的事件处理逻辑。我们可以利用这个特性来取消上下模糊效果。

在代码中添加以下自定义指令:

Vue.directive('disable-scroll', {
  inserted: function (el) {
    el.addEventListener('touchmove', function(e) {
      e.preventDefault();
    }, { passive: false });
  }
});
Nach dem Login kopieren

以上代码会禁止滚动事件的默认行为。你可以在你的HTML元素上加入v-disable-scrollrrreee

Der obige Code hebt den Scroll-Rebound-Effekt auf. und es übernimmt auch das Scrollen nach oben und unten. Diese Methode funktioniert nicht, wenn in Ihrer Bildlaufansicht overflow: versteckt festgelegt ist.

Zweite Methode: Verwenden Sie einige CSS-Techniken

Wenn Sie den Scroll-Rebound-Effekt nicht deaktivieren möchten, können Sie einige CSS-Techniken verwenden, um die obere und untere Unschärfe von Vue zu beseitigen Effekte. #🎜🎜##🎜🎜#Sie können den folgenden Code zu Ihrem Komponenten-Stylesheet hinzufügen: #🎜🎜#rrreee#🎜🎜#Der obige Code ist für Webkit-basierte Browser (wie Chrome oder Safari), die Scroll verbergen Leiste und heben Sie die oberen und unteren Unschärfeeffekte auf. Wenn Sie andere Browsertypen (z. B. Firefox) unterstützen möchten, können Sie den folgenden Code verwenden: #🎜🎜#rrreee#🎜🎜#Der obige Code blendet die Bildlaufleiste in allen Elementen aus. Es ist jedoch zu beachten, dass bei dieser Methode sowohl die horizontale als auch die vertikale Bildlaufleiste gelöscht wird. #🎜🎜##🎜🎜#Die dritte Methode: Benutzerdefinierte Direktiven verwenden #🎜🎜##🎜🎜# In Vue.js gibt es eine benutzerdefinierte Direktivenfunktion, mit der wir HTML-Elementen komplexe Ereignisverarbeitungslogik hinzufügen können. Mit dieser Funktion können wir die oberen und unteren Unschärfeeffekte aufheben. #🎜🎜##🎜🎜#Fügen Sie die folgenden benutzerdefinierten Anweisungen im Code hinzu: #🎜🎜#rrreee#🎜🎜#Der obige Code deaktiviert das Standardverhalten von Scroll-Ereignissen. Sie können Ihrem HTML-Element die Anweisung v-disable-scroll hinzufügen, um das Scrollen nach oben und unten zu deaktivieren. #🎜🎜##🎜🎜#Zusammenfassung#🎜🎜##🎜🎜#Die oben genannten sind drei Methoden, um die oberen und unteren Unschärfeeffekte von Vue aufzuheben. Mit diesen Methoden können Sie ein benutzerfreundlicheres interaktives Erlebnis in Vue.js-Anwendungen erzielen. Abhängig von Ihren spezifischen Bedürfnissen können Sie wählen, mit welcher Methode Sie Ihr Ziel erreichen möchten. Ich hoffe, dieser Artikel hilft Ihnen! #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo heben Sie die obere und untere Vue-Unschärfe auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage