我在this page上的导航栏中有三个叶子,每个叶子部分都是一个导航链接,由具有绝对定位和不同z索引的div类组成,这样我就可以在棕色上淡入绿色叶子。
页面之间还有一个渐变过渡,它基于CSS tricks上的动态页面更改方法,使用hashchange来更改页面。
您可以在this jsfiddle上的导航栏上看到所有与树叶褪色相关的代码(该脚本还包含页面之间转换的代码)。
我正在努力解决的部分是如何为当前页面引用div类“.current”(它包含淡入淡出的绿色叶子)。我需要这样做,当网站第一次打开时,无论是在主页还是在关于页面上,当前页面的绿色叶子在页面加载时都被设置为不透明度:1(这是当用户点击页面加载时发生的情况,但不是当页面第一次加载时发生的情况)。
我可以在每个页面的CSS中为.current类设置不透明度,但是使用hashchange方法,只有#main-content的HTML被改变,所以这不起作用。我想我需要在我的JavaScript中找到一种方法来设置它,以某种方式引用当前页面/标签。
与此相关的是我如何在.close div/link的click处理程序中更改当前页面的绿色叶子的不透明度,即如果联系人表单在主页处于活动状态时关闭,则主页的绿色叶子将淡入(因为它是当前页面),关于页面也是如此。同样,看起来我需要找到一种在点击处理程序中引用当前页面/选项卡的方法。
有人能帮我吗?
谢谢你,
尼克
2条答案
按热度按时间cetgtptt1#
哇,这是令人困惑的,这似乎是你的复杂情况。你不需要特定的页面CSS或类似的东西。你只需要设置。当前类在不同的时间。
当有人导航到您的网站时,您将知道他们正在加载什么#标签,或者是否没有任何#标签。
现在,基本上在页面加载时,您需要查看hashtag,如果有一个,如果它是正确的(因为它是您已经考虑的实际页面),那么您只需像现在一样加载该页面,但也要突出显示叶子。
实际上,你可以在.current叶子上简化整个过程
真正的“leaf”只有在你加载信息的时候才是“current”。所以当信息被加载并放置在你的$wrapper中时,淡入和动画;然后把你的.current放在上面。
更新-快速解决方案
http://jsfiddle.net/6p2f6/1/
基本上,我把修改.current leaves的东西移到了hash change中,在底部,我让它检查用户是否使用hash导航到了一个页面,如果没有,它就设置了一个默认值。这并不完美,但这是我目前所能做的最好的事情。
更新-新代码:)
http://www.mediafire.com/?51vajskfeu923的
有几个文件,所以我不能把它扔在一个JS小提琴
好吧,我不能让整个渐变菜单工作,但我得到了它显示/隐藏像一个正常的悬停。我可以看看它以后,但既然你知道如何做到这一点,我假设你可以弄清楚。只要去JavaScript文件,并寻找这一点:
字符串
现在在主页上设置它,看看这段代码:
型
忽略销毁位,这只是摆脱插件;把它拿出来。
你对
型
$('#contentContainer')是您的容器加载到
默认页面是默认页面
pagetoLoadGif是通常显示的小加载gif的路径。
现在,您还需要查看
型
这是做你的小菜单的一点。因为你有不同的图像,你需要单独做每一个,像这样:
型
然后你把defaultImage=“blah”放在你的,所以它看起来像<a href="#blah”defaultImage=“blah”./>
也
在所有的' console.log'上查找替换到'//console.log',这样所有的控制台内容就不会出现在你的实际网站上。
5kgi1eie2#
我觉得你应该把
字符串
在ready事件函数中
型