Javascript AnythingSlider:使导航选项卡处于非活动状态?
我正在使用这个工具,在css和js方面遇到了一些问题。基本上,滑块有许多导航选项卡,可以帮助从一张幻灯片跳到另一张幻灯片。我想对此进行更改,以便当coldfusion条件运行时,某些选项卡将保持默认状态或变为非活动状态(将选项卡的颜色更改为灰色,当用户单击该选项卡时不会发生任何事情) 所以基本上,我的CF应该是Javascript AnythingSlider:使导航选项卡处于非活动状态?,javascript,jquery,css,coldfusion,anythingslider,Javascript,Jquery,Css,Coldfusion,Anythingslider,我正在使用这个工具,在css和js方面遇到了一些问题。基本上,滑块有许多导航选项卡,可以帮助从一张幻灯片跳到另一张幻灯片。我想对此进行更改,以便当coldfusion条件运行时,某些选项卡将保持默认状态或变为非活动状态(将选项卡的颜色更改为灰色,当用户单击该选项卡时不会发生任何事情) 所以基本上,我的CF应该是 <cfif #X# is ""> //if true, make tab #2 not clickable, change color to grey
<cfif #X# is ""> //if true, make tab #2 not clickable, change color to grey
//else, if false, keep tab normal.
更新嗯,我不明白。这是我页面末尾的代码(就在结束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;
})
}
}
settab(3,false);
settab(3,真);
函数settab(num,enable){
变量面板=$('.thumbNav a.panel'+num);
如果(启用){
面板
.removeClass('false'))
.unbind('单击')
.bind('单击',函数()){
panel.closest('.anythingSlider')。find('.anythingBase')。data('anythingSlider')。gotoPage(num);
返回false;
})
}否则{
面板
.addClass('false'))
.unbind('单击聚焦')
.bind('click',function(){
返回false;
})
}
}
如果您只想更改选项卡颜色,请使用此css
div.anythingSlider.activeSlider .thumbNav a.false,
div.anythingSlider.activeSlider .thumbNav a.false:hover { background: #555; }
如果你真的想禁用这个标签,那就需要做更多的工作。我使用这个函数来启用或禁用一个特定的标签。当然,这个函数会破坏该标签的哈希标签功能,并且不会禁用键盘或任何针对该面板的脚本-这需要对插件进行一些更改()
按如下方式使用上述功能
- 如果页面上有多个AnythingSlider,则面板变量的定义应如下所示,其中
以特定的滑块为目标:#slider
如果只有一个,那么这个较短的变量将起作用var panel = $('#slider').closest('.anythingSlider').find('.thumbNav a.panel' + num);
var panel = $('.thumbNav a.panel' + num);
- 禁用选项卡,如下所示:
settab(3, false);
settab(3, true);
- 按如下方式启用选项卡:
settab(3, false);
settab(3, true);
div.anythingSlider.activeSlider .thumbNav a.false,
div.anythingSlider.activeSlider .thumbNav a.false:hover { background: #555; }
如果你真的想禁用这个标签,那就需要做更多的工作。我使用这个函数来启用或禁用一个特定的标签。当然,这个函数会破坏该标签的哈希标签功能,并且不会禁用键盘或任何针对该面板的脚本-这需要对插件进行一些更改()
按如下方式使用上述功能
- 如果页面上有多个AnythingSlider,则面板变量的定义应如下所示,其中
以特定的滑块为目标:#slider
如果只有一个,那么这个较短的变量将起作用var panel = $('#slider').closest('.anythingSlider').find('.thumbNav a.panel' + num);
var panel = $('.thumbNav a.panel' + num);
- 禁用选项卡,如下所示:
settab(3, false);
settab(3, true);
- 按如下方式启用选项卡:
settab(3, false);
settab(3, true);