amazeui學習筆記--js插件(UI加強2)--按鈕交互Button

amazeui學習筆記--js插件(UI加強2)--按鈕交互Button

1、總結

一、按鈕loading狀態javascript

<button type="button" class="am-btn am-btn-primary btn-loading-example">Submit - Button</button>
<input type="button" class="am-btn am-btn-primary btn-loading-example" value="Submit - Input" /> $('.btn-loading-example').click(function () { var $btn = $(this) $btn.button('loading'); setTimeout(function(){ $btn.button('reset'); }, 5000); });

二、按鈕loading狀態自定義選項(功能)java

能夠在元素上添加 data-am-loading 來設置選項:ios

  • spinner 加載動畫圖標,適用於支持 CSS3 動畫、非 input 元素,寫圖標名稱便可;
  • loadingText 加載時顯示的文字, 默認爲 loading
  • resetText 重置之後的顯示的文字,默認爲原來的內容。
<button type="button" class="am-btn am-btn-primary btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText: '加載中...', resetText: '加載過了'}">按鈕 - button 元素</button>

<input type="button" class="am-btn am-btn-secondary btn-loading-example" value="按鈕 - input 元素" data-am-loading="{loadingText: '努力加載中...'}" /> $('.btn-loading-example').click(function () { var $btn = $(this) $btn.button('loading'); setTimeout(function(){ $btn.button('reset'); }, 5000); });

三、單按鈕狀態切換git

 1 <button id="doc-single-toggle" type="button" class="am-btn am-btn-primary" data-am-button>切換狀態</button>
 2 
 3 <p>按鈕狀態:<span id="doc-single-toggle-status" class="am-text-danger">未激活</span></p>
 4 
 5 <script>
 6  $(function() {  7     var $toggleButton = $('#doc-single-toggle');  8  $toggleButton.on('click', function() {  9  setButtonStatus(); 10  }); 11 
12     function setButtonStatus() { 13       var status = $toggleButton.hasClass('am-active') ? '未激活' : '激活'; 14  $('#doc-single-toggle-status').text(status); 15  } 16  }) 17 </script>

四、默認選中狀態:  <label> 上添加 am-active 類名    <input> 上添加 checked 屬性。github

五、單選框:學習

 1 <div class="am-btn-group doc-js-btn-1" data-am-button>
 2   <label class="am-btn am-btn-primary">
 3     <input type="radio" name="options" value="選項 1" id="option1"> 選項 1  4   </label>
 5   <label class="am-btn am-btn-primary">
 6     <input type="radio" name="options" value="選項 2" id="option2"> 選項 2  7   </label>
 8   <label class="am-btn am-btn-primary">
 9     <input type="radio" name="options" value="選項 3" id="option3"> 選項 3 10   </label>
11   <label class="am-btn am-btn-primary am-disabled">
12     <input type="radio" name="options" value="選項 4" id="option4"> 選項 4 13   </label>
14 </div>
15 <script>
16   // 獲取選中的值
17  $(function() { 18     var $radios = $('[name="options"]'); 19  $radios.on('change',function() { 20  console.log('單選框當前選中的是:', $radios.filter(':checked').val()); 21  }); 22  }); 23 </script>

六、複選框動畫

<div class="am-btn-group" data-am-button>
  <label class="am-btn am-btn-primary">
    <input type="checkbox" name="doc-js-btn" value="蘋果"> 蘋果 </label>
  <label class="am-btn am-btn-primary">
    <input type="checkbox" name="doc-js-btn" value="橘子"> 橘子 </label>
  <label class="am-btn am-btn-primary">
    <input type="checkbox" name="doc-js-btn" value="香蕉"> 香蕉 </label>
</div>
<script> $(function() { var $cb = $('[name="doc-js-btn"]'); $cb.on('change', function() { var checked = []; $cb.filter(':checked').each(function() { checked.push(this.value); }); console.log('複選框選中的是:', checked.join(' | ')); }); }); </script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、按鈕交互Button

Button JS 交互


Button 及 Button group 與 JS 交互。ui

按鈕 loading 狀態

默認文字

默認的文字爲 loading...this

 Copy
按鈕 - button 元素   
<button type="button" class="am-btn am-btn-primary btn-loading-example">Submit - Button</button> <input type="button" class="am-btn am-btn-primary btn-loading-example" value="Submit - Input" />
 Copy
$('.btn-loading-example').click(function () { var $btn = $(this) $btn.button('loading'); setTimeout(function(){ $btn.button('reset'); }, 5000); });

自定義選項

能夠在元素上添加 data-am-loading 來設置選項:url

  • spinner 加載動畫圖標,適用於支持 CSS3 動畫、非 input 元素,寫圖標名稱便可;
  • loadingText 加載時顯示的文字, 默認爲 loading
  • resetText 重置之後的顯示的文字,默認爲原來的內容。
 Copy
按鈕 - button 元素   
<button type="button" class="am-btn am-btn-primary btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText: '加載中...', resetText: '加載過了'}">按鈕 - button 元素</button> <input type="button" class="am-btn am-btn-secondary btn-loading-example" value="按鈕 - input 元素" data-am-loading="{loadingText: '努力加載中...'}" />
 Copy
$('.btn-loading-example').click(function () { var $btn = $(this) $btn.button('loading'); setTimeout(function(){ $btn.button('reset'); }, 5000); });

單按鈕狀態切換

 Copy
切換狀態

按鈕狀態:未激活

<button id="doc-single-toggle" type="button" class="am-btn am-btn-primary" data-am-button>切換狀態</button> <p>按鈕狀態:<span id="doc-single-toggle-status" class="am-text-danger">未激活</span></p> <script> $(function() { var $toggleButton = $('#doc-single-toggle'); $toggleButton.on('click', function() { setButtonStatus(); }); function setButtonStatus() { var status = $toggleButton.hasClass('am-active') ? '未激活' : '激活'; $('#doc-single-toggle-status').text(status); } }) </script>

複選框

注意:因爲 FastClick 的緣由,觸屏設備上使用時須要在 input 上添加 .needsclick,不然沒法獲取複選框的值。

 Copy
蘋果橘子香蕉
<div class="am-btn-group" data-am-button> <label class="am-btn am-btn-primary"> <input type="checkbox" name="doc-js-btn" value="蘋果"> 蘋果 </label> <label class="am-btn am-btn-primary"> <input type="checkbox" name="doc-js-btn" value="橘子"> 橘子 </label> <label class="am-btn am-btn-primary"> <input type="checkbox" name="doc-js-btn" value="香蕉"> 香蕉 </label> </div> <script> $(function() { var $cb = $('[name="doc-js-btn"]'); $cb.on('change', function() { var checked = []; $cb.filter(':checked').each(function() { checked.push(this.value); }); console.log('複選框選中的是:', checked.join(' | ')); }); }); </script>

單選框

 Copy
選項 1選項 2選項 3選項 4
<div class="am-btn-group doc-js-btn-1" data-am-button> <label class="am-btn am-btn-primary"> <input type="radio" name="options" value="選項 1" id="option1"> 選項 1 </label> <label class="am-btn am-btn-primary"> <input type="radio" name="options" value="選項 2" id="option2"> 選項 2 </label> <label class="am-btn am-btn-primary"> <input type="radio" name="options" value="選項 3" id="option3"> 選項 3 </label> <label class="am-btn am-btn-primary am-disabled"> <input type="radio" name="options" value="選項 4" id="option4"> 選項 4 </label> </div> <script> // 獲取選中的值 $(function() { var $radios = $('[name="options"]'); $radios.on('change',function() { console.log('單選框當前選中的是:', $radios.filter(':checked').val()); }); }); </script>

設置默認選中狀態

設置默認選中狀態涉及兩處:

  • <label> 上添加 am-active 類名(2.7.0+ 無需添加此類名);
  • <input> 上添加 checked 屬性。
 Copy
蘋果橘子香蕉
<div class="am-btn-group" data-am-button> <!--默認選中狀態設置--> <label class="am-btn am-btn-primary am-active"> <input type="checkbox" class="needsclick" name="doc-js-btn" value="蘋果" checked> 蘋果 </label> <label class="am-btn am-btn-primary"> <input type="checkbox" class="needsclick" name="doc-js-btn" value="橘子"> 橘子 </label> <label class="am-btn am-btn-primary"> <input type="checkbox" class="needsclick" name="doc-js-btn" value="香蕉"> 香蕉 </label> </div>
相關文章
相關標籤/搜索