我在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