Javascript 我想在页面刷新后单击一个cookie以保持我的选择处于活动状态

Javascript 我想在页面刷新后单击一个cookie以保持我的选择处于活动状态,javascript,jquery,Javascript,Jquery,我想在页面刷新后单击cookie以保持我的选择处于活动状态,我有以下代码: 我尝试过不同的方法,但我无法实现。我是javascript或jquery的noob 看看我到现在为止都做了些什么。我有一个函数,我想在其中设置cookie,然后在单击事件时调用该函数 $(函数(){ //语言COOKIE 函数setLanguageCookie(){ var expire=新日期(); expire=新日期(expire.getTime()+7776000000); document.cookie=“L

我想在页面刷新后单击cookie以保持我的选择处于活动状态,我有以下代码:

我尝试过不同的方法,但我无法实现。我是javascript或jquery的noob

看看我到现在为止都做了些什么。我有一个函数,我想在其中设置cookie,然后在单击事件时调用该函数

$(函数(){
//语言COOKIE
函数setLanguageCookie(){
var expire=新日期();
expire=新日期(expire.getTime()+7776000000);
document.cookie=“Language=Language;expires=“+expire;
}
//这是用于汉堡菜单切换的
$(“.dropbtn”)。单击(函数(){
$(this).next(“.dropdown content,.items”).stop().slideToggle(500);
});
//如果单击外部下拉菜单-关闭下拉菜单
变量$menu=$('.dropdown');
$(文档).mouseup(函数(e){
if(!$menu.is(e.target)&&&$menu.has(e.target).length==0){
$('.dropdown content').hide();
}
});
$(“#dd内容a”)。单击(功能(e){
e、 预防默认值();
var text=$(this.text();
var img=$(this.find('img').clone(true);
$('.dropbtn.lang').text(text);
$('.dropbtn img')。替换为(img);
$(“#dd content a”).removeClass('hide');
$(this.addClass('hide');
setLanguageCookie();
});
});
html,
身体{
字体系列:拉托,无衬线;
字体大小:14px;
线高:1;
背景:#191919;
}
标题{
显示器:flex;
对齐项目:居中;
证明内容:之间的空间;
填充:5px15px;
保证金:0自动15px自动;
背景:#000;
}
标题.品牌{
字体大小:14px;
线高:1;
字母间距:2px;
颜色:#fff;
}
@介质(最小宽度:768px){
标题.品牌{
字体大小:20px;
}
}
标题。标志{
显示:无;
}
@介质(最小宽度:1025px){
标题。标志{
显示:块;
}
}
标题.下拉内容{
显示:无;
背景:#000;
-webkit边界半径:4px;
-moz边界半径:4px;
边界半径:4px;
填充:10px;
位置:绝对位置;
右:0;
顶部:40px;
}
header.dropdown a.dropbtn{
填充:0;
显示器:flex;
对齐项目:居中;
}
header.dropdown a.dropbtn.ico{
左边距:5px;
字体大小:11px;
}
标题。下拉列表{
显示:无;
位置:相对位置;
}
@介质(最小宽度:1025px){
标题。下拉列表{
显示:首字母;
}
}
标题。下拉a{
显示:块;
边距:5px0!重要;
填充物:3px 5px;
}
标题.下拉内容a.hide{
显示:无;
}
标题.下拉菜单a:悬停{
颜色:#999999!重要;
}
标题。是隐藏的{
显示:无;
}
标题.操作{
显示器:flex;
对齐项目:居中;
}
标题。操作。下拉列表a,
header.actions a.ml,
标题.动作a.su{
颜色:#fff;
文字装饰:无;
左边距:20px;
文本转换:大写;
}
header.actions a.ml{
显示:无;
}
@介质(最小宽度:1025px){
header.actions a.ml{
显示:块;
}
}
标题.动作a.su{
背景:#ef2945;
填充:14px 20px;
边界半径:4px;
}
标题。动作a.su:悬停{
背景:#df4057;
}
标题。菜单移动。项目{
位置:绝对位置;
宽度:100%;
顶部:52px;
左:0;
背景色:rgba(21,21,21,98);
z指数:1;
显示:无;
}
标题.移动菜单.项目a{
显示器:flex;
填充:0 16px;
位置:相对位置;
宽度:100%;
边界:0无;
背景:透明;
高度:36px;
对齐项目:居中;
颜色:#CBCB;
文本转换:大写;
边框底部:2px实心#0e0e;
文字装饰:无;
}
标题。菜单移动。项目范围{
右边距:10px;
}
标题.移动菜单{
左边距:15px;
}
标题.菜单移动a.汉堡{
颜色:#fff;
字号:17px;
}
header.actions.dropdown a.dropbtn img{
右边距:5px;
}
header.actions.dropdown.dropdown内容a{
显示器:flex;
对齐项目:居中;
}
header.actions.dropdown.dropdown内容一个img{
右边距:5px;
}
@介质(最小宽度:1025px){
.移动菜单{
显示:无;
}
}

我的头球

如果a标记是真实链接,则应向单击事件添加默认调用。 它将阻止在设置cookie之前执行默认链接函数

function setLanguageCookie() {
    var expire=new Date();
    expire=new Date(expire.getTime()+7776000000);
    document.cookie="Language=Language; expires="+expire;
}
// THIS IS FOR THE BURGER MENU TOGGLE
$(".dropbtn").click(function() {
    $(this).next(".dropdown-content, .items").stop().slideToggle(500);
});
// If you click outside dropdown - close dropdown
var $menu = $('.dropdown');
$(document).mouseup(function(e) {
    if (!$menu.is(e.target) && $menu.has(e.target).length === 0) {
        $('.dropdown-content').hide();
    }
});
$("#dd-content a").click(function(e) {
    e.preventDefault(); // changes are HERE <--
    var text = $(this).text();
    var img = $(this).find('img').clone(true);
    $('.dropbtn .lang').text(text);
    $('.dropbtn img').replaceWith(img);
    $("#dd-content a").removeClass('hide');
    $(this).addClass('hide');
    setLanguageCookie();
});
函数setLanguageCookie(){
var expire=新日期();
expire=新日期(expire.getTime()+7776000000);
document.cookie=“Language=Language;expires=“+expire;
}
//这是用于汉堡菜单切换的
$(“.dropbtn”)。单击(函数(){
$(this).next(“.dropdown content,.items”).stop().slideToggle(500);
});
//如果单击外部下拉菜单-关闭下拉菜单
变量$menu=$('.dropdown');
$(文档).mouseup(函数(e){
if(!$menu.is(e.target)&&&$menu.has(e.target).length==0){
$('.dropdown content').hide();
}
});
$(“#dd内容a”)。单击(功能(e){
e、 preventDefault();//此处有更改

您必须在页面加载时获取cookies,并将其设置为默认值,如:

function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

//GET LANGUAGE COOKIE
function getLanguageCookie() {
    var lang = getCookie('Language') != ""?getCookie('Language'):"EN";
    $('#dd-content').hide();
    $("#dd-content a:contains('"+lang+"')").click();
}

//SET LANGUAGE COOKIE
function setLanguageCookie(Language) {
    var expire=new Date();
    expire=new Date(expire.getTime()+7776000000);
    document.cookie="Language="+Language+"; expires="+expire;
}

// THIS IS FOR THE BURGER MENU TOGGLE
$(".dropbtn").click(function() {
    $(this).next(".dropdown-content, .items").stop().slideToggle(500);
});

// If you click outside dropdown - close dropdown
var $menu = $('.dropdown');
$(document).mouseup(function(e) {
    if (!$menu.is(e.target) && $menu.has(e.target).length === 0) {
        $('.dropdown-content').hide();
    }
});

$("#dd-content a").click(function() {
    var text = $(this).text();
    var img = $(this).find('img').clone(true);

    $('.dropbtn .lang').text(text);
    $('.dropbtn img').replaceWith(img);

    $("#dd-content a").removeClass('hide');
    $(this).addClass('hide');

    setLanguageCookie(text);
});

getLanguageCookie();
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);

对于(var i=0;i这不是我的意思。我选择了语言,如果我刷新页面,语言下拉列表将重置为初始值。cookie现在是免费的。您尝试过吗?使用此选项,您的代码将至少达到。当前不是这样!是的。我尝试过,但什么都没有发生。无论是否使用默认值,都是一样的。然后显示你的全部代码+html