【问题标题】:Why Img are not retrieve after refresh the page? [closed]为什么刷新页面后无法检索 Img? [关闭]
【发布时间】:2015-11-26 10:50:46
【问题描述】:

我想在本地存储html5中存储多个动态图像并在页面刷新时检索......

这是我的代码和 jsfiddle

HTML

<ul class="lib">
    <li>
        <img class='my_image' src='http://wcdn1.dataknet.com/static/resources/icons/set95/5076c9d9.png'>
    </li>
    <li>
        <img class='my_image' src='http://cdn.mysitemyway.com/icons-watermarks/simple-black/raphael/raphael_gear-small/raphael_gear-small_simple-black_128x128.png'>
    </li>
</ul>Click the image to make clone and then click save btn to store in local sorage html5 and after that refresh to retreave the images in below box
<div class="block" id="block_test"></div>
<input id="button" type="button" value="save">

CSS

.lib {
    border:1px solid #000;
}
.lib li {
    display:inline;
}
.lib img {
    width:100px;
}
#block_test {
    border:1px solid #000;
    height:300px;
}

JS

$(".my_image").click(function () {
    $(this).clone().addClass('input').removeClass('my_image').appendTo(".block").freetrans({
        x: 0,
        y: 0
    });
});

function setBackground() {
    localStorage.input = $(".input").attr('src');
}

function loadBackground() {
    if (localStorage.input.length == 0) {
        localStorage.input = "empty";
    } else {
        var img_elem = $('<img id="output">');
        img_elem.attr('src', localStorage.input).addClass('input').removeClass('my_image').appendTo(".block").freetrans({
            x: 0,
            y: 0
        });

        localStorage.input = $(arr[0]).attr('src');
    }
}

$("#button").click(function () {
    setBackground();
});

链接到 jsfiddle http://jsfiddle.net/fq58hrh1/14/

提前致谢。我希望我能解决我的问题

【问题讨论】:

  • 这里的警报在哪里?
  • 因为您正在“警告”DOM 节点,而不是 src 属性。但是等等,哪个警报???
  • @akkii922 你在问题标题中问了Why alert is showing... 哪个警报?
  • 对不起先生,其实我是新来的..所以我从某个地方复制..我的错误.... :(
  • 请解释您的问题 - 什么不起作用?你期待什么结果,你得到了什么。 js控制台有错误码吗?

标签: php jquery html css


【解决方案1】:

使用 localStorage 是你的代码有问题,下面我解释一下

使用 window.localStorage – 存储没有过期日期的数据 当您需要设置应在下一页或重新加载后反映的变量时,请使用:

var someVarName = "值"; localStorage.setItem("someVarName", someVarName);

并且在任何页面中(比如页面加载后),获取如下:

var getVarName = localStorage.getItem("someVarName");

.getItem() 将返回 null 或存储的值。


你更新的javascript如下

$(".my_image").click(function () {     $(this).clone().addClass('input').removeClass('my_image').appendTo(".block").freetrans({
        x: 0,
        y: 0
    });
});

function setBackground() {
    localStorage.setItem("someVarName", $("#block_test").html());
}

function loadBackground() {
    if(localStorage.getItem("someVarName")!=null){
        var storedImages = localStorage.getItem("someVarName");
        $("#block_test").html(storedImages)
    } else {
        $("#block_test").html("No Images Yet");
    }
}

$("#button").click(function () {
    setBackground();
});

$(document).ready(function () {
    loadBackground();
});

我提供了一个更新的演示 http://jsfiddle.net/fq58hrh1/29/ 要对其进行测试,请单击图像,然后保存并重新加载页面。

【讨论】:

  • 尊敬的匿名用户,请解释您的答案被否决的原因。在我看来,我提供的演示小提琴提供了用户要求的解决方案。
  • 对不起,我不小心做了。我想回来,但我不能
  • 我修好了。再次抱歉。您的代码运行良好。
  • 谢谢@Yasemin çidem,在投票后我有点不高兴,但无论如何我明白它是怎么发生的,现在很好:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多