我在this page上有以下腳本,處理淡入和淡出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>
謝謝。我不確定添加班級是如何工作的,因爲懸停時的淡入淡出(淡綠色的葉子)是通過在絕對定位在另一圖像頂部的DIV淡入來控制的。爲了更清楚地說明,我在原始問題的末尾添加了一個導航鏈接的HTML。 – Nick
我不明白它與我發佈的示例有什麼不同。但我已經更新了我的答案,以顯示如何修改您的特定代碼。讓我知道如果這有幫助,或者如果我失去了一些東西。 – maxedison
謝謝Max。我已經將你的答案標記爲正確答案。它解決了我有的懸停/點擊功能問題的一部分。另一個問題是如何處理頁面更改之間的轉換(即用戶更改頁面時葉子的顏色)。我已經提出了一個更具體的問題[這裏](http://stackoverflow.com/questions/7878199/script-not-fading-out-non-active-navigation-links) – Nick