1

所以我有这个按钮,当它被点击时会显示一个图像,但是如果页面被刷新,图像就会消失,我不希望这样。即使页面刷新,我如何让图像保持不变。

这是我的图像显示功能:

<script>

function showImage()
 {
$("#loadingImage").show();      
 };

</script>   

这是我的按钮:

<input name="Failure Analysis Lab"  style="white-space:normal;"    
onclick="moveText(this.name);showImage();form1.submit() " 
style="width: 272px; height: 30px;" type="button" 
value="7QKD Failure Analysis Lab" />
4

3 回答 3

2

您可以在单击按钮时设置和获取这样的 cookie:

$.cookie("showImage", true);

然后执行以下操作:

$(document).ready(function() 
{
    var image = $('#loadingImage');
    if($.cookie('showImage') {
        image.addClass('image-visible');
    } else {
        image.show();
    }
});

CSS

.image-visible {display: block}
于 2013-07-25T18:54:17.890 回答
1

你可以用sessionStorage这个。

在您的初始化中:

var isImage = sessionStorage.getItem('isImage');

if (isImage !== null) showImage();

function showImage() {
    sessionStorage.setItem('isImage', '1');
    $("#loadingImage").show();      
};

如果图像已显示,则将值存储在临时存储中(当浏览器关闭时将被删除 - 如果您希望它永久使用localStorage支持返回 IE8)。然后在刷新时检查该值,如果存在,将显示图像。

于 2013-07-25T18:56:14.173 回答
0

您可以使用history.pushState()将散列或参数添加到当前页面。当页面加载或重新加载时,您可以检查是否存在并最初显示图像

var hstate = {}; // state object you may or may not want to use
history.pushState( hstate, 'Page Title', '#img' );
// -- or --
history.pushState( hstate, 'Page Title', '?img=true' );

如果需要,您可以先获取当前 URL,以便在添加自己的参数时保留现有参数或哈希值。

如另一个问题所述,要支持旧浏览器,请使用诸如History.js之类的 polyfill 。

于 2013-07-25T19:10:15.233 回答