Inhaltsverzeichnis
Ladestatus
模拟单选
模拟多选
Heim Web-Frontend Bootstrap-Tutorial Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

Apr 19, 2021 pm 07:19 PM
bootstrap

In diesem Artikel erfahren Sie mehr über die Schaltflächenkomponente in Bootstrap. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

Das Schaltflächen-Plugin bietet eine Reihe von Funktionen, mit denen mehrere Zustände der Schaltfläche gesteuert werden können, z. B. der deaktivierte Zustand der Schaltfläche, der Ladezustand, der normale Zustand usw. In diesem Artikel wird das Bootstrap-Button-Plugin ausführlich vorgestellt

Ladestatus

 Sie können Statusaufforderungen über Schaltflächen entwerfen. Wenn Sie auf die Schaltfläche klicken, werden Informationen zum Ladestatus angezeigt. Wenn Sie beispielsweise auf die Schaltfläche „Laden“ klicken, wird der Ladezustand der Schaltfläche ausgelöst

Durch Hinzufügen von data-loading-text="Loading..." können Sie den Ladezustand für die Schaltfläche festlegen. aber Ab v3.3.5 wird diese Funktion nicht mehr empfohlen und wurde in v4 gelöschtdata-loading-text="Loading..." 可以为按钮设置正在加载的状态,但从 v3.3.5 版本开始,此特性不再建议使用,并且已经在 v4 版本中删除了

  [注意]如果不设置data-loading-text,则按钮文本在Loading状态时,默认显示的是'loading...'

1

2

3

4

5

6

7

8

9

10

11

<button>加载</button>

<script>

$(function(){

    $("#loaddingBtn").click(function () {

        var $btn = $(this).button("loading");

        setTimeout(function(){

            $btn.button(&#39;reset&#39;)

        },1000);

      });

});   

</script>

Nach dem Login kopieren

Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

【相关推荐:《bootstrap教程》】

模拟单选

  模拟单选按钮是通过一组按钮来实现单选择操作。使用按钮组来模拟单选按钮组,能够让设计更具个性化,可以定制出更美观的单选按钮组

  在Bootstrap框架中按钮插件中,可以通过给按钮组自定义属性data-toggle="buttons"

1

2

3

4

5

6

7

8

<div>

    <label>

        <input>男

    </label>

    <label>

        <input>女

    </label>

</div>

Nach dem Login kopieren

Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

模拟多选

  使用按钮组来模拟复选按钮和模拟单选按钮是一样的,具有同等效果,也是通过在按钮组上自定义data-toggle="buttons"

 [Hinweis] Wenn Wenn data-loading-text ist nicht festgelegt. Wenn sich der Schaltflächentext im Status „Laden“ befindet, lautet die Standardanzeige „Laden...“

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<div>

    <label>

        <input>电影

    </label>

    <label>

        <input>音乐

    </label>

    <label>

        <input>游戏

    </label>

    <label>

        <input>摄影

    </label>

</div>

Nach dem Login kopieren
Detaillierte Erläuterung der Schaltflächenkomponenten in BootstrapDetaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

【Verwandte Empfehlungen: "Bootstrap Tutorial 》】

Simuliertes Optionsfeld

Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap Das simulierte Optionsfeld ist durch eine Reihe von Schaltflächen zum Implementieren einer Einzelauswahloperation. Die Verwendung einer Schaltflächengruppe zum Simulieren einer Optionsfeldgruppe kann das Design personalisierter gestalten und eine schönere Optionsfeldgruppe anpassen

Im Schaltflächen-Plug-in im Bootstrap-Framework können Sie Attribute für die Schaltflächengruppe data-toggle="buttons"

1

2

<button>有状态的按钮</button>

<button>普通按钮</button>

Nach dem Login kopieren
Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

Mehrfachauswahl simulieren

Detaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap

Die Verwendung einer Schaltflächengruppe zum Simulieren von Kontrollkästchen ist dasselbe wie das Simulieren von Optionsfeldern und hat den gleichen Effekt. Dies geschieht auch durch die Automatisierung Schaltflächengruppe. Definieren Sie data-toggle="buttons", um dies zu erreichen. Der einzige Unterschied besteht darin, dass input[type="radio"] durch input[type="checkbox"] ersetzt wird Schaltet den Status zwischen aktiv und inaktiv um. Die Schaltfläche wird aktiviert, wenn darauf geklickt wird, und die Schaltfläche kann durch erneutes Klicken auf den Standardzustand zurückgesetzt werden spezifische Parameter für die Tastenfunktion. Zwei der Parameter sind fest, nämlich Toggle und Reset. Andere können nach Belieben definiert werden:

1

2

3

$("#mybutton").button("toggle");//反转按钮状态

$("#mybutton").button("reset");//重置按钮状态

$("#mybutton").button("任意字符参数名");//替换 data-任意字符参数名-text 的属性值为“按钮上显示的文本值

Nach dem Login kopieren

1

2

3

4

5

6

7

8

9

10

11

<button class="btn btn-primary" data-complete-text="加载完成" type="button" id="mybutton">加载</button>

<script>

$(function(){

    $("#mybutton").click(function () {

        var $btn = $(this).button("loading");

        setTimeout(function(){

            $btn.button(&#39;complete&#39;);

        },1000);

      });

});   

</script>

Nach dem Login kopieren

JS-Quellcode

【1】IIFE

Verwenden Sie die Sofortaufruffunktion, um zu verhindern, dass der Code im Plug-In durchsickert und so eine geschlossene Schleife entsteht erweitert aus jQuerys fn

1

2

3

4

5

+function ($) {

    //使用es5严格模式

    &#39;use strict&#39;;

    //

}(window.jQuery);

Nach dem Login kopieren

【2】Anfangseinstellungen

1

2

3

4

5

6

7

8

9

10

11

12

13

14

var Button = function (element, options) {

    //要触发的元素

    this.$element  = $(element)

    //合并参数

    this.options   = $.extend({}, Button.DEFAULTS, options)

    //是否是加载状态

    this.isLoading = false

  }

  //版本号为3.3.7

  Button.VERSION  = &#39;3.3.7&#39;

  //默认loadinf时的文本内容为&#39;loading...&#39;

  Button.DEFAULTS = {

    loadingText: &#39;loading...&#39;

  }

Nach dem Login kopieren

【3】Plugin-Kerncode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

//设置按钮状态的方法

  Button.prototype.setState = function (state) {

    //按钮需要禁用时使用它,先赋值一个临时变量

    var d    = &#39;disabled&#39;

    //当前元素

    var $el  = this.$element

    //如果是input,则使用val获取值,否则,使用html获取值

    var val  = $el.is(&#39;input&#39;) ? &#39;val&#39; : &#39;html&#39;

    //获取当前元素的自定义属性,所有以data-开头的属性

    var data = $el.data()

    //组装需要用到的属性,如传入loading,则组装成loadingText

    state += &#39;Text&#39;

    //如果data里不包含data-reset-text值,则将当前元素的值临时存放,以便过后再恢复使用它

    if (data.resetText == null) $el.data(&#39;resetText&#39;, $el[val]())

 

    //不阻止事件,以允许表单的提交

    setTimeout($.proxy(function () {

      //给元素赋值,如果是元素默认没有值,则从options里查询,否则,从自定义属性里查询

      $el[val](data[state] == null ? this.options[state] : data[state])

      //如果传入的是loading

      if (state == &#39;loadingText&#39;) {

        //设置加载状态为true

        this.isLoading = true

        //禁用该元素(即添加disabled样式和disabled属性)

        $el.addClass(d).attr(d, d).prop(d, true)

      } else if (this.isLoading) {

        this.isLoading = false

        //如果不是,则删除disabled样式和disabled属性

        $el.removeClass(d).removeAttr(d).prop(d, false)

      }

    }, this), 0)

  }

  //切换按钮状态

  Button.prototype.toggle = function () {

    //设置change标记

    var changed = true

    //查找带有[data-toggle="buttons"]属性的最近父元素

    var $parent = this.$element.closest(&#39;[data-toggle="buttons"]&#39;)

    //如果父元素存在

    if ($parent.length) {

      //查找触发元素内是否存在input元素

      var $input = this.$element.find(&#39;input&#39;)

      //如果是单选按钮

      if ($input.prop(&#39;type&#39;) == &#39;radio&#39;) {

        //如果被选中,则设置changed为false

        if ($input.prop(&#39;checked&#39;)) changed = false

        //查找同级元素是否有active样式,如果有,则删除active样式

        $parent.find(&#39;.active&#39;).removeClass(&#39;active&#39;)

        //给当前元素添加active样式

        this.$element.addClass(&#39;active&#39;)

      //如果是多选按钮

      } else if ($input.prop(&#39;type&#39;) == &#39;checkbox&#39;) {

        //如果多选按钮选中了,但元素没有active样式

        //或者多选按钮没有选中,但元素却有active样式,则设置changed为false

        if (($input.prop(&#39;checked&#39;)) !== this.$element.hasClass(&#39;active&#39;)) changed = false

        //重置元素的active样式

        this.$element.toggleClass(&#39;active&#39;)

      }

      //将多选按钮的checked设置为是否有active样式

      $input.prop(&#39;checked&#39;, this.$element.hasClass(&#39;active&#39;))

      //如果changed为true,则触发change事件

      if (changed) $input.trigger(&#39;change&#39;)

    } else {

      this.$element.attr(&#39;aria-pressed&#39;, !this.$element.hasClass(&#39;active&#39;))

      //重置元素的active样式

      this.$element.toggleClass(&#39;active&#39;)

    }

  }

Nach dem Login kopieren

【4】jQuery-Plug-in-Definition

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

function Plugin(option) {

    //根据选择器,遍历所有符合规则的元素

    return this.each(function () {

      var $this   = $(this)

      //获取自定义属性bs.button的值

      var data    = $this.data(&#39;bs.button&#39;)

      var options = typeof option == &#39;object&#39; && option

      //如果值不存在,则将Button实例设置为bs.button值

      if (!data) $this.data(&#39;bs.button&#39;, (data = new Button(this, options)))

      //如果option是toggle,则直接调用该方法 

      if (option == &#39;toggle&#39;) data.toggle()

      //否则调用setState()方法

      else if (option) data.setState(option)

    })

  }

 

  var old = $.fn.button

  //保留其他库的$.fn.button代码(如果定义的话),以便在noConflict之后可以继续使用该老代码

  $.fn.button             = Plugin

  //重设插件构造器,可以通过该属性获取插件的真实类函数

  $.fn.button.Constructor = Button

Nach dem Login kopieren

【5】Anti-Konflikt-Verarbeitung

1

2

3

4

5

6

<a href="https://www.php.cn/course.html" target="_blank" textvalue="编程入门">$.fn.button.noConflict = function () {

    //恢复以前的旧代码

    $.fn.button = old

    //将$.fn.button.noConflict()设置为Bootstrap的Tab插件

    return this

  }</a>

【6】Bindungsauslöser Veranstaltungen

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

$(document)

    //查询所有以button开头,data-toggle属性的值,绑定click事件

    .on(&#39;click.bs.button.data-api&#39;, &#39;[data-toggle^="button"]&#39;, function (e) {

      //查找当前单击对象的最近的有btn样式的父元素

      var $btn = $(e.target).closest(&#39;.btn&#39;)

      Plugin.call($btn, &#39;toggle&#39;)

      //如果单击对象不是单选或多选按钮

      if (!($(e.target).is(&#39;input[type="radio"], input[type="checkbox"]&#39;))) {

        //阻止默认行为

        e.preventDefault()

        //如果$btn是单选或多选按钮,触发focus事件

        if ($btn.is(&#39;input,button&#39;)) $btn.trigger(&#39;focus&#39;)

        //否则,找到子元素中的第一个具有visible状态的input或button,触发focus事件

        else $btn.find(&#39;input:visible,button:visible&#39;).first().trigger(&#39;focus&#39;)

      }

    })

    //查询所有以button开头,data-toggle属性的值,绑定focus事件

    .on(&#39;focus.bs.button.data-api blur.bs.button.data-api&#39;, &#39;[data-toggle^="button"]&#39;, function (e) {

      $(e.target).closest(&#39;.btn&#39;).toggleClass(&#39;focus&#39;, /^focus(in)?$/.test(e.type))

    })

Nach dem Login kopieren
🎜Weitere Informationen zum Programmieren finden Sie unter: 🎜Einführung in die Programmierung🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schaltflächenkomponenten in Bootstrap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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ße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So erhalten Sie die Bootstrap -Suchleiste So erhalten Sie die Bootstrap -Suchleiste Apr 07, 2025 pm 03:33 PM

So verwenden Sie Bootstrap, um den Wert der Suchleiste zu erhalten: Bestimmt die ID oder den Namen der Suchleiste. Verwenden Sie JavaScript, um DOM -Elemente zu erhalten. Holen Sie sich den Wert des Elements. Führen Sie die erforderlichen Maßnahmen aus.

Wie man vertikale Zentrierung von Bootstrap macht Wie man vertikale Zentrierung von Bootstrap macht Apr 07, 2025 pm 03:21 PM

Verwenden Sie Bootstrap, um die vertikale Zentrierung zu implementieren: FlexBox-Methode: Verwenden Sie den D-Flex, den Justify-Content-Center und die Ausrichtungsklassen aus Align-Item-Center, um Elemente in den Flexbox-Behälter zu platzieren. Methode für Ausstellungs-Iitem-Center-Klassen: Bei Browsern, die Flexbox nicht unterstützen, verwenden Sie die Klasse aus Align-items-Center-Klasse, vorausgesetzt, das übergeordnete Element hat eine definierte Höhe.

So richten Sie das Framework für Bootstrap ein So richten Sie das Framework für Bootstrap ein Apr 07, 2025 pm 03:27 PM

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

So schreiben Sie geteilte Zeilen auf Bootstrap So schreiben Sie geteilte Zeilen auf Bootstrap Apr 07, 2025 pm 03:12 PM

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

So fügen Sie Bilder auf Bootstrap ein So fügen Sie Bilder auf Bootstrap ein Apr 07, 2025 pm 03:30 PM

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

So verwenden Sie die Bootstrap -Taste So verwenden Sie die Bootstrap -Taste Apr 07, 2025 pm 03:09 PM

Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

So ändern Sie Bootstrap So ändern Sie Bootstrap Apr 07, 2025 pm 03:18 PM

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

See all articles