gpt4 book ai didi

javascript - 当浏览器到达主页后点击后退按钮时,我需要删除Class

转载 作者:行者123 更新时间:2023-11-28 06:00:30 24 4
gpt4 key购买 nike

我有hasher.js在我的网站上,我并不完全理解它,但这里有我的 javascript 文件中使用的任何引用。

function activateKeyNav()
{
// Description: register keypress event on document object
jQuery(document).on('keydown', function(event) {
switch(event.which)
{
case 27: // escape
hasher.setHash();
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
break;
}
});
}
function goToNextProject()
{
if(projects[currentProject].rght)
updateHash(projects[currentProject].rght);
}

function goToPrevProject()
{
if(projects[currentProject].lft)
updateHash(projects[currentProject].lft);
}
function updateHash(project)
{
hasher.setHash(project);
}
$('#backtoprojects a').on('click', function(){
hasher.setHash();
$('#backtoprojects').addClass('is-hidden');
deactivateKeyNav();
});
$('#project-close').on('click', function(){
hasher.setHash();
$('#project-close').addClass('is-hidden');
});
$('[data-type="projectLoader"]').click(function() {

var proj = $(this)[0].getAttribute('data-project');
// loadProject(proj)
$('#arrow-nav').addClass('slideIn');

updateHash(proj);
return false;
// return loadProject(proj);

});

crossroads.addRoute('/{project}', function(project) {
console.log(project);
loadProject(project);
currentProject = project;
deactivateKeyNav();
activateKeyNav();

});

crossroads.addRoute('/', function() {
$('#backtoprojects').click();
});
crossroads.routed.add(console.log, console);

function parseHash(newHash, oldHash) {
crossroads.parse(newHash);
};

hasher.initialized.add(parseHash); //parse initial hash
hasher.changed.add(parseHash); //parse hash changes
hasher.init(); //start listening for history change

我认为任何 html 都是不必要的,因为它与浏览器和退格键有关。

当我在一个项目中时,它会将/#/project-name 添加到 url 中。当我按退格键或在浏览器中按回车键时,它会带走“项目名称”,但您仍然保留在项目中。它应该加载主页。

是否可以准备好文档?或者一个removeClass?如果我可以这样做 $('body').removeClass('projectLoaded'); 这将杀死该项目并让您返回主页。

这里是直播 example .

更新#1这适用于退格键。我怎样才能结合起来使情况 27 和情况 8 做同样的事情,而不必欺骗代码? 代码 27 && 代码 8?我仍然需要浏览器中后退按钮的解决方案。

case 8: // backspace
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
break;

更新#2

window.history.back();
window.history.go(-1);

我现在意识到这些行不通。我可以通过 4 个项目深入历史。我不知道如何定位这个目标。

最佳答案

摆弄 js 我让它工作了。我也不需要定位退格按钮。

crossroads.addRoute('/', function() {
$('#backtoprojects').click();
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
});

关于javascript - 当浏览器到达主页后点击后退按钮时,我需要删除Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com