У меня есть следующий скрипт на этой странице , который обрабатывает появление и исчезновение div для изменения цвета листьев в навигационной панели при наведении на них, скольжения контактной формы и исчезновение содержимого одной страницы на другую:
$(function ()
{
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
baseHeight = 0,
$el,
curTab = "#index";
$("nav").delegate("a.fade", "click", function ()
{
window.location.hash = $(this).attr("href");
// $(this).addClass("current", 3000);
// $("#contact").removeClass("current", 3000);
return false;
});
$(window).bind('hashchange', function ()
{
newHash = window.location.hash.substring(1);
if (newHash)
{
$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();
$mainContent
.find("#guts")
.fadeOut(500, function ()
{
$mainContent.hide().load(newHash + " #guts", function ()
{
$pageWrap.animate({ height: baseHeight + $mainContent.height() + "px" }, function ()
{
$mainContent.fadeIn(500);
$pageWrap.css("height", "auto");
});
// $("nav a").removeClass("current");
// curTab = "#" + /^(.+)\..+$/.exec(newHash)[1];
// $(curTab).addClass("current");
});
});
};
});
$("#contact").click(function ()
{
$("#panel").slideDown("slow");
return false;
});
$(".close").click(function ()
{
$("#panel").slideUp("slow");
return false;
});
$("nav a").hover(
function() {
$(".current", this).stop().animate({
opacity: 1
}, {
duration: 300,
specialEasing: {
opacity: 'linear',
},
});
}, function() {
$(".current", this).stop().animate({
opacity: 0
}, {
duration: 2000,
specialEasing: {
opacity: 'linear',
},
});
});
$(window).trigger('hashchange');
});
Теперь я хочу, чтобы это работало с некоторыми функциями щелчка, т. Е. Чтобы лист текущей страницы оставался зеленым, а не коричневым, а лист контактов зеленым, когда контактная форма открыта, но я не уверен, как сделать это. Например, я попытался изменить делегат на это:
$("nav").delegate("a.fade", "click", function ()
{
window.location.hash = $(this).attr("href");
$("#panel").slideUp("slow");
$(".current", this).animate({
opacity: 1
}, {
duration: 300,
specialEasing: {
opacity: 'linear',
},
});
Но страница, по которой щелкают, не остается зеленой. Как только мышь перемещается из div, она становится коричневой.
Я был бы благодарен, если бы кто-нибудь мог помочь мне заставить это работать.
Спасибо
Ник
HTML ДОБАВЛЕНО:
<div id="nav1">
<a href="index.html" class="fade" id="index">
<div class="nav-image"><img src="images/bodhi-leaf-brown.png"></div>
<div class="current"><img src="images/bodhi-leaf-green.png"></div>
<div class="text"><img src="images/home.png"></div>
</a>
</div>