2013-04-25 78 views
0

我正在尝试为网站制作导航菜单。悬停事件(jQuery)更改<div>背景位置,以便用户可以看到他指向的位置。最终的效果我想实现这个样子的:使用jQuery更改每个页面上的CSS属性

http://jsfiddle.net/WAckU/

这种解决方案的问题是,当我点击<li>(页面更改)我松散的变量(背景位置复位),所以我不知道是否有是任何解决方法,也许只是添加CSS类到我点击的元素(类似于一些WordPress主题)? 我也想避免坚持cookie的价值。

+0

这取决于你的网站的后台能够。 Wordpress运行在PHP上,它有一组工具可以将一个“活动”类分配给一个依赖于被点击的元素,就像其他技术一样。没有使用Ajax,Json和/或Cookies的情况下,无法在普通JavaScript的两页之间持续存在。 – Kyle 2013-04-25 15:16:03

+0

啊,忘了提。我可以使用PHP的课程。 – 2013-04-25 15:21:14

+0

当然,你也可以在静态页面上伪装它,只需将该类添加到HTML中的活动元素或设置它的jQuery .. – Kyle 2013-04-25 15:24:35

回答

0

检查中window.location.href当前页面,并设置背景图片首先取决于它

var currentpage = window.location.href.split("/").pop(); 
switch(currentpage){ 
    case "page1.php": $(".topmenu").css('background-position', position1);break; 
    case "page2.php": $(".topmenu").css('background-position', position2);break; 
    ... 
} 
+0

这是完美的,非常感谢你:) – 2013-04-25 16:15:01

0

为什么不简单地将变量初始化为每页所需的值?或者,如果你不想让例外,请让js查看网址以找出它的位置。

+0

页面由几个部分组成(它构建在电子商务系统上),所以我现在不用如果为每个页面创建一个变量会很聪明。检查网址似乎是一个更好的选择。 Thx,会试着找到更多关于它的信息。 – 2013-04-25 15:32:44