私はAnythingSliderツールを使用していますが、css と js に問題があります。基本的に、スライダーには、スライドからスライドへのジャンプに役立つ多数のナビゲーション タブがあります。これを変更して、coldfusion 条件が実行されたときに、特定のタブがデフォルトの状態のままになるか、非アクティブになるようにします (タブの色を灰色に変更し、ユーザーがそのタブをクリックしても何も起こらないようにします)。
基本的に、私のCFは次のようになります
<cfif #X# is ""> //if true, make tab #2 not clickable, change color to grey
//else, if false, keep tab normal.
スライダーは、基本的に次のように html で設定されます。
<ul>
<li></li> //slide #1
<li></li> //slide #2 etc etc
</ul>
例として、クラス li class="false" を設定し、「スライド」ごとに 2 つの li タグを設定できるのではないかと考えました (x が true の場合は 1 つを表示し、そうでない場合はもう 1 つを表示します)。
したがって、これが理にかなっているのかどうかはわかりませんが、ほとんどの場合、CSS を操作する手が必要です。スライダー タブのコードは次のようになります。
div.anythingSlider.activeSlider .thumbNav a.cur, div.anythingSlider.activeSlider .thumbNav a {
background-color: #7C9127;
}
更新まあ、私はそれを取得しません。これは私のページの最後 (BODY タグを終了する直前) のコードです。コードが実行され、実行されることを確認するためだけにいくつかのアラートをそこに投げました。しかし、何も起こりません。タブは非アクティブにならず、色は決して変わりません。
これを含めるようにanythingslider.cssを変更しました:
div.anythingSlider.activeSlider .thumbNav a.false,
div.anythingSlider.activeSlider .thumbNav a.false:hover { background: #555; }
これは私のメインページの一番下にあります。このスクリプトは、いくつかの cfoutput タグでラップされています。
<cfif #selected_main_details.X# IS "">
settab(3, false);
<cfelse>
settab(3, true);
</cfif>
function settab(num, enable){
var panel = $('.thumbNav a.panel' + num);
if (enable){
panel
.removeClass('false')
.unbind('click')
.bind('click', function(){
panel.closest('.anythingSlider').find('.anythingBase').data('AnythingSlider').gotoPage(num);
return false;
})
} else {
panel
.addClass('false')
.unbind('click focusin')
.bind('click', function(){
return false;
})
}
}