Kidnly帮助我完成它:)
所以我有jquery这种简单的SHOW / HIDE内容,但问题是通过直接链接显示它。
工作简单,就像我喜欢的那样。但我需要一些方法来展示它与example.php#div1或example.php#div2
有什么建议吗?
e.preventDefault();
var targetDiv = $($(this).attr('href'));
if(!targetDiv.is(':visible')){
$('.page').slideUp();
targetDiv.slideDown();
}else{
$('.page').slideUp();
}
});
提前致谢!
答案 0 :(得分:1)
你可以在纯CSS中完成。此示例使用左转换的幻灯片。您可以更改translate
转换或使用其他属性(如opacity
)进行其他效果,或者只更改display
属性以禁用动画。
HTML:
<a href="#div1">Show div1</a>
<div id="div1">1</div>
<a href="#div2">Show div2</a>
<div id="div2">2</div>
CSS:
div {
transform: translate(-200px);
transition: transform 400ms ease;
}
div:target {
transform: none;
}
答案 1 :(得分:1)
我不确定这是否是您正在寻找的。但是你可以添加一个哈希监听器
这是我创建的一个小提琴,它会查看url的哈希部分,而不是监听click事件。
window.addEventListener("hashchange", function(){
var targetDiv = $(location.hash);
console.log(targetDiv);
if(!targetDiv.is(':visible')){
$('.page').slideUp();
targetDiv.slideDown();
}else{
$('.page').slideUp();
}
}, false);
我不确定这是否会在第一次加载时触发,但在加载事件中,您可以检查location.hash以查看是否存在。
答案 2 :(得分:0)
在url中发送get参数,例如
example.php?div_to_hide=1
并在javascript中执行此操作
var targetDiv = $('#div<?php echo isset($_GET['div_to_hide']) ? $_GET['div_to_hide'] : "" ?>');