从一页获取图像以显示在以下一页上

Posted

技术标签:

【中文标题】从一页获取图像以显示在以下一页上【英文标题】:Getting Images from one page to show up on the following one 【发布时间】:2022-01-06 15:21:49 【问题描述】:

我正在尝试使用 JQuery 从图形标签中获取图像以显示在下一页上。这是我尝试使用的 JQuery 代码:

(() => 
    $("a").click(function()
        this.prev().appendTo('#product');
    )
);

这是图形标签:

<figure id="tennis_set">
    <img class="shop_image" src="images/shop2.jpg" >
    <a href="seemore.html"><figcaption id="tennis_set_no_shoes">See more</figcaption></a></figure>

这是下一页上我想要的 div:

<div id="product_description_checkout">
                <h2 class="payment_title">Order Summary</h2>
                <div id="product"></div>
            </div>

到目前为止,它不起作用。我将不得不使用 Ajax 或 php 来存储数据吗?还是我只是为 JQuery 使用了错误的代码?

【问题讨论】:

尝试将其存储在 localStorage 中,然后在下一页检索它 喜欢这个?我可能做错了,但这也不起作用: (() =&gt; $("a").click(function() setItem("image", JSON.stringify(this.prev())); getItem("image").appendTo("#product"); ) ); 【参考方案1】:

也许是这样的。将图像源作为变量设置到本地存储中。然后在下一页检查它。如果存在,则使用本地存储中的 src 创建一个图像元素。

$(document).ready(function() 
  $("a").click(function(e) 
    e.preventDefault();
    let src = $(this).closest('figure').find('img').attr('src');
    console.log('src', src);
    localStorage.setItem("useImage", src);
    // now that we got it stored, allow the link to go through
    window.location.href=$(this).attr('href');
  )
);

// on next page

$(document).ready(function() 
  if (!localStorage.getItem("useImage")) return;
  let img = $('<img />', 
    src: localStorage.getItem("useImage"),
  );
  img.appendTo($('#product'));
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<figure id="tennis_set">
  <img class="shop_image" src="images/shop2.jpg">
  <a href="seemore.html">
    <figcaption id="tennis_set_no_shoes">See more</figcaption>
  </a>
</figure>

【讨论】:

还是不行。 Doesn't work 对那些看不到你的代码试图在浏览器中执行的人来说没有任何意义。如果您需要帮助,请尝试确定是否存在错误或问题所在 - 然后发布 对不起。你说得对。问题是,我没有收到任何错误消息。我可以猜测的是,之前应该存储图像 url 的代码没有这样做,但我不知道为什么。 这是现在的代码: (() => $("a").click(function() localStorage.setItem("image", this.prev().attr ('src')); ); ); //在下一页 (() => if (!localStorage.getItem("image")) return; let img = $('', src: localStorage.getItem("image"), ); img.appendTo($('#product')); ); 我在代码中发现了一个错字(我不小心输入了this 而不是$(this))——然后我认为从figure 容器中引用图像可能会更好。尝试更新的代码,看看它是否有帮助。如果没有,请尝试console.log(localStorage('useImage')) 看看是否存储了正确的数据

以上是关于从一页获取图像以显示在以下一页上的主要内容,如果未能解决你的问题,请参考以下文章

如何使我的背景图像仅出现在 rails 4 的一页上?

在一页上的文本区域中写入,在另一页中显示文本数据[关闭]

为啥页面控制点从一页变为下一页

为什么我的SESSION数组在一页上可以,但在另一页上可以为空?

如何使我的图像停留在一页上而不重复?

如何将一页上的 id 调用到另一页