Прошу прощения за любые глупые вопросы/кодирование, я новичок в jquery!
Я пытаюсь создать меню для одностраничного сайта с прокруткой и активным состоянием. HTML:
<ul id="menu">
<li><a class="rollover" href="#"><img class="folio" src="images/folio3.png" /></a></li>
<li><a class="rollover" href="#"><img class="services" src="images/services3.png" /></a></li>
<li><a class="rollover" href="#"><img class="about" src="images/about3.png" /></a></li>
<li><a class="rollover" href="#"><img class="contact" src="images/contact3.png" /></a></li>
</ul>
JQuery:
$(document).ready(function(){
$("a.rollover").fadeTo(1,0.5);
$("a.rollover").hover(
function() {$(this).fadeTo("fast",1);},
function() {$(this).fadeTo("fast",0.5);});
$("a.rollover").click(function(){
if($(".active").length) {
if($(this).hasClass("active")) {
$(this).removeClass("active");
$(this).fadeTo("fast",0.5);
} else {
$(".active").fadeTo("fast",0.5);
$(".active").removeClass("active");
$(this).addClass("active");
$(this).fadeTo("fast",1);
}
} else {
$(this).addClass("active");
$(this).fadeTo("fast",1);
}});
});
Итак, здесь есть две проблемы:
Несмотря на то, что активный класс добавлен, и в инструментах разработчика Chrome я вижу, что непрозрачность активного класса равна «1», похоже, он не работает в браузере, т.е. непрозрачность по-прежнему отображается в браузере как «0,5».
Если $(this) активен, даже после нажатия $(this) и удаления активного класса непрозрачность остается равной «1». Если я нажму $(this) несколько раз, в конечном итоге непрозрачность снова изменится на «0,5».
Я был бы очень признателен за помощь. Я боролся с этим уже о ... 3 дня, хех :-/
Спасибо заранее...