2016-07-19 10 views
0

私はflipswitchのようなチェックボックスを作成したいと思います。 私はこのCSSクラスを使用しました。私はこのデザイン要素を使用しました。しかし、私は成功できませんでした。私は逃した何かがあります。私はそれを管理する方法を知らない? XPagesでXpagesのFlipSwitchスタイル

コード:

<div class="onoffswitch"> 
<xp:checkBox text="Label" id="onoffswitch" 
    defaultChecked="true"> 

<span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> 
    </xp:checkBox> 
</div> 

CSSクラス:リソース\スタイルシート

.onoffswitch { 
     position: relative; width: 90px; 
     -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none; 
    } 
    .onoffswitch-checkbox { 
     display: none; 
    } 
    .onoffswitch-label { 
     display: block; overflow: hidden; cursor: pointer; 
     border: 2px solid #999999; border-radius: 20px; 
    } 
    .onoffswitch-inner { 
     display: block; width: 200%; margin-left: -100%; 
     transition: margin 0.3s ease-in 0s; 
    } 
    .onoffswitch-inner:before, .onoffswitch-inner:after { 
     display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px; 
     font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold; 
     box-sizing: border-box; 
    } 
    .onoffswitch-inner:before { 
     content: "ON"; 
     padding-left: 10px; 
     background-color: #34A7C1; color: #FFFFFF; 
    } 
    .onoffswitch-inner:after { 
     content: "OFF"; 
     padding-right: 10px; 
     background-color: #EEEEEE; color: #999999; 
     text-align: right; 
    } 
    .onoffswitch-switch { 
     display: block; width: 18px; margin: 6px; 
     background: #FFFFFF; 
     position: absolute; top: 0; bottom: 0; 
     right: 56px; 
     border: 2px solid #999999; border-radius: 20px; 
     transition: all 0.3s ease-in 0s; 
    } 
    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { 
     margin-left: 0; 
    } 
    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { 
     right: 0px; 
    } 

答えて

2

私はあなたがコントロール内のマークアップを配置する必要がある場合、それはほとんどないことを見つけますXPageのレンダリングはそれを変更したり無視したりするために機能します。これを回避するために、マークアップの外側にある隠しコントロールを使用してプレーンマークアップを使用します。私はJQueryを使って隠れたコントロールの状態を管理します。ここで

は、あなたのFlipSwitchのための実施例である:

<xp:checkBox text="Label" id="checkBox1"></xp:checkBox> 
    <div class="onoffswitch"> 
     <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" 
      onclick="x$('#{id:checkBox1}').prop('checked', !(x$('#{id:checkBox1}').prop('checked')) )" /> 
     <label class="onoffswitch-label" for="myonoffswitch"> 
      <span class="onoffswitch-inner"></span> 
      <span class="onoffswitch-switch"></span> 
     </label> 
    </div> 

x$()機能がマークローデンからhandlyユーティリティです:

function x$(idTag, param){ //Updated 18 Feb 2012 
    idTag=idTag.replace(/:/gi, "\\:")+(param ? param : ""); 
    return($("#"+idTag)); 
} 
関連する問題