保存显示隐藏状态javascript不起作用

时间:2019-03-12 03:13:29

标签: javascript php html

大家好,您可以帮我吗?我想使用本地存储javascript。但我的代码无法正常工作。我想使用本地存储javascript保存显示隐藏状态,但是我的显示隐藏状态无法保存,并且在刷新时总是回到隐藏状态。

这是我的javascript代码:

$(document).ready(function() {

    var showText='Show';
    var hideText='Hide';
    var is_visible = false;

    $('.toggle').prev().append(' <a href="#" class="toggleLink">'+showText+'</a>');

    $('.toggle').hide();

    $('a.toggleLink').click(function() {


        if ($(this).text()==showText) {
            localStorage.setItem('showText', true);
            $(this).text(hideText);
            $(this).parent().next('.toggle').slideDown('fast');
        } else {
            localStorage.setItem('showText', false);
            $(this).text(showText);
            $(this).parent().next('.toggle').slideUp('fast');
        }
        return false;
    });
    var hideText = localStorage.getItem('Hide') === 'false' ? false : Show;
    $('a.toggleLink').toggle(hideText);
});

谢谢。

*对不起,我的英语不好

2 个答案:

答案 0 :(得分:1)

您没有在LocalStorage中设置键“隐藏”,因此单击功能后,它将始终为false。您必须将其更改为:

var hideText = localStorage.getItem('showText') === false ? 'Hide' : 'Show';

答案 1 :(得分:1)

在本地存储中,您没有使用“隐藏”关键字保存任何内容。因此,根据以下语句,您的本地存储将无法获得任何价值。

var hideText = localStorage.getItem('Hide') === 'false' ? false : Show;  

所以只需将'Hide'更改为'showText'。

$(document).ready(function() {
    var showText='Show';
    var hideText='Hide';
    var is_visible = false;
    $('.toggle').prev().append(' <a href="#" class="toggleLink">showText</a>');
    $('.toggle').hide();
    $('a.toggleLink').click(function() {
        if ($(this).text()==showText) {
            localStorage.setItem('showText', true);
            $(this).text(hideText);
            $(this).parent().next('.toggle').slideDown('fast');
        } else {
            localStorage.setItem('showText', false);
            $(this).text(showText);
            $(this).parent().next('.toggle').slideUp('fast');
        }
        return false;
    });
    var hideText = localStorage.getItem('showText') === 'false' ? false : Show;
    $('a.toggleLink').toggle(hideText);
});