2009-10-22 3 views
0

У меня есть сценарий, который SIFR кроющие первичные элементы навигации таким образом:SIFR - Как заставить его работать с .active ул ссылки

[code] 
/********************* 
* sIFR configuration 
**********************/ 

var itc = { 
    src: '/assets/js/sifr3/demo/font2.swf' 
    ,ratios: [7, 1.32, 11, 1.31, 13, 1.24, 14, 1.25, 19, 1.23, 27, 1.2, 34, 1.19, 42, 1.18, 47, 1.17, 48, 1.18, 69, 1.17, 74, 1.16, 75, 1.17, 1.16] 
} 

sIFR.activate(itc); 
sIFR.useStyleCheck = false; 
sIFR.replace(itc, { 
    selector: 'h2, #primary_nav ul li' 
    ,css:[ 
     '.sIFR-root { font-size:14px;font-weight:normal; }', 
     ,'#primary_nav ul li a { color:#000000; text-decoration: none; }' 
     ,'#primary_nav ul li a:hover { color: #000000; text-decoration:underline; background-color:#000000; }' 
     ,'#primary_nav ul li.active a { color:#000000; text-decoration:underline;}' 
    ] 
    ,wmode: 'transparent' 
    ,fitExactly:true 
    ,forceClear:true 
    ,forceSingleLine:true 
}); 
[/code] 

Однако «li.active» применяется ко каждый меню пункт. Это не то, что я хочу.

Я хочу, чтобы он просто применил класс .active к тем, у кого есть этот класс.

«#primary_nav ul li.active a» используется в элементе списка меню, в котором вы находитесь.

т.е.

[code] 
<li class="active"><a href="#">Home</a></li> 
<li><a href="#">News</a></li> 
<li><a href="#">Some other menu item</a></li> 
[/code] 

Как получить SIFR только применить .active к списку активного элемента?

Спасибо.

ответ

0

Сначала выполните замену на #primary_nav ul li.active, которая имеет специальный дизайн, и затем замените все остальные элементы списка.

Кроме того, в правилах CSS для замены вы не можете повторить #primary_nav ul li, просто используйте вместо этого a.