首先,这些页面永远不会在网络上,但会在内部存储器中。它们是一组链接文件 - 电子书。
http://www.anmldr.com/testdivs
当我点击第一个div中的链接时,第二个div变为可见,第一个div被隐藏。问题出在浏览器的后退按钮上。如果您再单击后退按钮,则URL会更新,但第一个div不再显示。如何更正后退按钮以便显示第一个div?从第二个div到第一个div的链接工作正常,但它是我不知道如何使用的浏览器后退按钮。
谢谢, 琳达
P.S。这些都使用CSS3,因此最好使用基于WebKit的浏览器。
答案 0 :(得分:2)
jQuery插件的工作方式是每100毫秒检查一次当前的URL,并且一旦哈希部分发生变化,它就会使用回调函数触发内容重置。这是相当低效和粗糙的,但我不认为还有另一种方式。您可以通过将此脚本添加到头部来执行此操作:
<script>
var lastHash = window.location.hash || "nothing";
setInterval(function() {
if (lastHash != window.location.hash) {
if (window.location.hash == '#offscreen') {
document.getElementById('offscreen').className = 'slideInFromRightToLeft';
document.getElementById('div1').className = 'slideLeftOut imInvisible';
} else {
document.getElementById('offscreen').className = 'slideRightOut imInvisible';
document.getElementById('div1').className = 'slideInLeftToRight';
}
}
}, 100);
</script>
这样你也可以删除onClick处理程序并将所有逻辑放在这个函数中。
答案 1 :(得分:1)
我认为最好的选择是使用以下代码:
$(window).load(*GetSelectedItem*);
GetSelectedItem示例函数如下:
function GetSelectedItem()
{
var chosen = "";
var len = document.signUpFrm.frmUserChoiceForActionPropertyType.length;
$('#display_spacer').hide();
$('#display_industry_type').hide();
document.signUpFrm.industry_type.value = '-1';
$('#display_warehouse_type').hide();
document.signUpFrm.warehouse_type.value = '-1';
$('#display_commercial_type').hide();
document.signUpFrm.commercial_type.value = '-1';
for (i = 0; i <len; i++)
{
if (document.signUpFrm.frmUserChoiceForActionPropertyType[i].checked)
{
chosen = document.signUpFrm.frmUserChoiceForActionPropertyType[i].value;
showHideErrorMsg('frmUserChoiceForActionPropertyType','',0);
}
}
if (chosen == "")
{
alert("No Location Chosen");
}
else if (chosen == "Industry")
{
$('#display_spacer').show();
$('#display_industry_type').show();
}
else if (chosen == "Warehouse")
{
$('#display_spacer').show();
$('#display_warehouse_type').show();
}
else if (chosen == "Commercial")
{
$('#display_spacer').show();
$('#display_commercial_type').show();
}
}
我不确定如果没有JQuery可以做到这一点。是的,你可以看一下JQuery的代码! :)
但这对我有用。
如有任何问题,您可以通过live dot com向我发送ak.81的代码段。
干杯, Annu
答案 2 :(得分:0)