我目前在我的网站上有一个部分(网站是在Laravel 5中构建的),用户可以显示/隐藏该部分。这基本上是我的问候。目前,我所做的只是在要显示/隐藏的元素上使用jQuery .toggle()。问题是,当用户访问不同的页面时,该元素会重新出现(因为它最初并未隐藏)。
我考虑过只为我的子页面使用AJAX而不刷新页面,因为这里的内容很少,但我想知道是否有更好的方法将会话变量或cookie传递给不同的视图并继续隐藏div。
HTML:
<div class="container">
<div class="row-fluid welcome-container">
<div class="col-md-3 profile">
<img class="profile-picture" src="images/jon.jpg">
</div>
<div class="col-md-9 welcome-box">
<div class="welcome">
<h2>
Welcome to my website.
<hr>
</h2>
</div>
<p class="hide-welcome">
<a href="#">[-]</a>
</p>
</div>
</div>
<p class="show-welcome">
<a href="#">[+]</a>
</p>
</div>
JS:
$(".hide-welcome").click(function() {
$(".welcome-container").slideToggle(500, "swing");
$(".hide-welcome").css("display", "none");
$(".show-welcome").css("display", "block");
var hidden = 1;
});
$(".show-welcome").click(function() {
$(".welcome-container").slideToggle(500, "swing");
$(".show-welcome").css("display", "none");
$(".hide-welcome").css("display", "block");
var hidden = 0;
});
我想如果我可以通过隐藏的&#39;通过Session / Cookie到每个视图,我可以对该变量运行一个刀片检查,然后在页面加载时隐藏/显示div。有没有一种简单的方法可以做到这一点,或者我应该只是加载身体内容的AJAX(并且永远不会离开主页)?