2016-11-08 36 views
0

我正在创建一个Jimdo网上商店。对于登录页面,我想隐藏导航栏。隐藏Jimdo网站上使用特定数据使用jquery的元素属性

我已经确定了元素的类,并且可以通过CSS隐藏它,但我只想将它隐藏在一个页面上。由于我只能将代码注入到标题中,因此我需要通过所选的菜单项标识页面。

<div class="nav"> 
    <ul> 
    <li><a data-link-title="Home" class="active">Home</a></li> 
    ... 
    </ul> 
</div> 

我怎么能隐藏div与类nav当在列表的链接有data-link-title="Home"class="active"

在此先感谢!

回答

0

好吧,我设法自己做。我想要实现的目标是在全屏幕中显示标题,同时隐藏其余所有内容,以实现登录页面。由于Jimdo将一个模板应用于所有页面,如果没有此解决方案,无法实现此效果。

我找到的是一个不同的解决方法,将html小部件插入到页面中,使用img,然后将其设置为全屏,并通过增加z-index来掩盖其余部分。我觉得这很难看,因为所有的内容仍然存在,基本上可见。它也给移动设备带来了奇怪的影响。

让我知道,如果你有一个更好的和/或更干净的解决方案。希望这可以帮助别人!

$(document).ready(function() { 
 
    if (document.getElementById("test")) { 
 
    var theHeader = document.querySelector(".header"); 
 
    theHeader.classList.add("fullscreen"); 
 
    $('.nav').hide(); 
 
    $('.content').hide(); 
 
    $('.footer').hide(); 
 
    } 
 
});
.nav { 
 
    background: #ffcc00; 
 
} 
 
.header { 
 
    background: #ccff00; 
 
} 
 
.content { 
 
    background: #00ccff; 
 
} 
 
.footer { 
 
    background: #cc00ff; 
 
} 
 
.fullscreen { 
 
    min-height: 100vh; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<html> 
 

 
<head> 
 
</head> 
 

 
<body id="test"> 
 
    <div class="nav">&nbsp;</div> 
 
    <div class="header">&nbsp;</div> 
 
    <div class="content">&nbsp;</div> 
 
    <div class="footer">&nbsp;</div> 
 
</body> 
 

 
</html>