2010-10-26 1 views
1

Я использую инструмент AnythingSlider, и у меня есть некоторые проблемы с css и js на этом. В основном, ползунок имеет несколько навигационных вкладок, которые помогают перейти от слайда к слайду. Я хочу изменить это так, чтобы при выполнении условия coldfusion определенные вкладки либо оставались в состоянии по умолчанию, либо становились неактивными (измените цвет вкладки на серый, чтобы не произошло ничего, когда пользователь нажимает на эту вкладку.)AnythingSlider: Сделать вкладки Nav неактивными?

So в основном, мой 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 = "ложь "в качестве примера и иметь два тега li на 'слайд' (показать один, если x является tr ue, а другой, если нет.)

Итак, я не уверен, что это имеет смысл, но в основном, мне нужна ручная манипуляция CSS. Код для вкладок слайдер выглядит следующим образом:

div.anythingSlider.activeSlider .thumbNav a.cur, div.anythingSlider.activeSlider .thumbNav a { 
    background-color: #7C9127; 
} 

UPDATE Ну, я не понимаю. Это код в конце моей страницы (только перед тем, как закончить тег 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; 

    }) 

} 
} 

ответ

1

Если вы хотите просто измените цвет вкладки, используйте это css

div.anythingSlider.activeSlider .thumbNav a.false, 
div.anythingSlider.activeSlider .thumbNav a.false:hover { background: #555; } 

Это немного более удобно, если вы хотите фактически отключить вкладку. Я собрал эту функцию, чтобы включить или отключить определенную вкладку. Предоставленная функция будет нарушать функцию хэш-тегов для этой вкладки, и она не отключает клавиатуру или какой-либо скрипт, предназначенный для этой панели, - для этого потребуется внести некоторые изменения в плагин (Demo).

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; 
    }) 
} 
} 

Используйте описанную выше функцию следующим образом

  • Если у вас есть более одного AnythingSlider на странице, то переменная панель должна быть определена следующим образом с #slider ориентации на конкретный слайдер:

    var panel = $('#slider').closest('.anythingSlider').find('.thumbNav a.panel' + num); 
    

    , если есть только один, то эта переменная короче будет работать

    var panel = $('.thumbNav a.panel' + num); 
    
  • Отключить вкладку следующим образом:

    settab(3, false); 
    
  • Включить вкладку следующим образом:

    settab(3, true); 
    
+0

Очень благодарен за эту помощь. Однако я не мог заставить его работать, как было предложено. См. Выше, как я его реализовал. – stuttsdc

+0

Сценарий запускается после правильной инициализации AnythingSlider? – Mottie

+0

yup. Я даже поставил скрипт в нижней части моей страницы. Кажется, не имеет значения. Я бросил несколько предупреждений, чтобы проверить, работает ли код. Они выскочили, но в целом на вкладках не было никакого эффекта. – stuttsdc