使用jquery或JavaScript在不同页面上触发事件
我正在做一个有2页的项目 1) 索引和 2) 背景 我有一个按钮来关闭一个元素并在设置页面上隐藏它。问题是,当我点击关闭设置页面并选择保存时,我想隐藏索引页面上的元素。我无法实现同样的目标。任何帮助都将不胜感激。 我发现的大多数解决方案只是使用Jquery重新定向到其他页面,但我想触发一个事件,而不仅仅是重新定向 我已经为同样的内容创建了一个代码笔:使用jquery或JavaScript在不同页面上触发事件,javascript,jquery,css,events,event-handling,Javascript,Jquery,Css,Events,Event Handling,我正在做一个有2页的项目 1) 索引和 2) 背景 我有一个按钮来关闭一个元素并在设置页面上隐藏它。问题是,当我点击关闭设置页面并选择保存时,我想隐藏索引页面上的元素。我无法实现同样的目标。任何帮助都将不胜感激。 我发现的大多数解决方案只是使用Jquery重新定向到其他页面,但我想触发一个事件,而不仅仅是重新定向 我已经为同样的内容创建了一个代码笔: $(“.list_sbar li”)。单击(函数(e){ 如果($(this).outerWidth()-34您可以将cookie值(可在单击关闭
$(“.list_sbar li”)。单击(函数(e){
如果($(this).outerWidth()-34您可以将cookie值(可在单击关闭按钮时设置)与$(window).focus
事件侦听器相结合,该事件侦听器在索引页聚焦时检查cookie值并根据值隐藏或显示元素
Cookies文档:
请尝试以下操作:
$(document).ready(function(){
if( document.cookie.indexOf('element_closed=')== -1){
document.cookie = 'element_closed=false; path=/';
}
// document.cookie = "element_closed=true"; // uncomment to test focusing window with element hidden
// used to get an individual cookie by name
// from http://stackoverflow.com/questions/10730362/get-cookie-by-name
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
function hideElement(){
$(".toggle_target").hide();
document.cookie = 'element_closed=true; path=/'
console.log(document.cookie);
}
$(window).focus(function(){
//console.log(document.cookie);
console.log(getCookie('element_closed'));
if(getCookie('element_closed') == 'true'){
hideElement();
}
});
$(".toggle").on('click', function(e){
e.preventDefault();
hideElement();
});
});
工作JSFIDLE:我没有收到你的问题。实际上你想在单击关闭按钮时隐藏一个div??是的,我想在单击关闭按钮时关闭一个div。你可以在上面的代码笔中检查相同的内容,但目前两个事件都在同一页上。我希望它们在不同的页上。谢谢你的努力。我正在尝试h JS cookie,但尚未修复。将尝试看看这是否有帮助。将期待您的代码。我正在尝试,并将更新,如果我得到答案更正-该代码需要调整,完成后将发表评论。感谢您的代码。现在我有一些问题要问您。代码在同一页上运行良好,但如何在上使用它们单独的页面?从您的JSFIDLE代码中,我在索引页面上使用div标记,在设置页面上使用标记。我在这两个页面上都尝试了脚本,但都不起作用。我们不需要定义试图触发事件的其他页面的路径吗?更新了代码,在cookie上设置了path属性。
$(document).ready(function(){
if( document.cookie.indexOf('element_closed=')== -1){
document.cookie = 'element_closed=false; path=/';
}
// document.cookie = "element_closed=true"; // uncomment to test focusing window with element hidden
// used to get an individual cookie by name
// from http://stackoverflow.com/questions/10730362/get-cookie-by-name
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
function hideElement(){
$(".toggle_target").hide();
document.cookie = 'element_closed=true; path=/'
console.log(document.cookie);
}
$(window).focus(function(){
//console.log(document.cookie);
console.log(getCookie('element_closed'));
if(getCookie('element_closed') == 'true'){
hideElement();
}
});
$(".toggle").on('click', function(e){
e.preventDefault();
hideElement();
});
});