当前位置: 首页 > 知识库问答 >
问题:

通过javascript以样式保存新图像src

尉迟禄
2023-03-14

所以我正在尝试做一个标题图像改变器,比如当你点击一个图像来改变标题的样式,并在重新加载后保存它。例如:我有一个默认的图像使用一个样式在头部,当我按下按钮改变它,自动保存它,即使在刷新。

null

function changetoimg1() {
  document.getElementById("header").style.background = "url(https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg)";
}

function changetoimg2() {
  document.getElementById("header").style.background = "url(https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg)";
}

function changetoimg3() {
  document.getElementById("header").style.background = "url(https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg)";
}
.test{
    background: url('https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg');
    border: 0;
    padding: 37px;
    background-size: cover;
    padding-left: 70px;
}

.test2{
    background: url('https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg');
    border: 0;
   padding: 37px;
    background-size: cover;
    padding-left: 70px;
}

.test3{
    background: url('https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg');
    border: 0;
    padding: 37px;
    background-size: cover;
    padding-left: 70px;
}

.imageshdr{
    position: absolute;
    margin-top: -245px;
    display: inline-block;
    width: 500px;
    margin-left: 191%;
}
<header id="header" style="background-image: url('https://i.imgur.com/oKe8JBR.png');">
<div class="imageshdr"><button onclick="changetoimg1()" class="test"></button>
<button onclick="changetoimg2()" class="test2"></button>
<button onclick="changetoimg3()" class="test3"></button></div>

null

共有2个答案

姜智渊
2023-03-14

使用事件侦听器是一个更好的实践。使用sessionStorage在重新加载时保持当前状态;如果您希望在浏览器关闭时保留本地存储,则可以使用本地存储。

null

document.addEventListener("DOMContentLoaded", function(){
  // charge the image on load
  changeimage(false);
  // add the click action on each button
  document.querySelectorAll('.imageshdr button').addEventListener('click', function() { 
    changeimage(true);
  });
});

function changeimage(next) {
  var i = 0;
  // retrieve the current index if stored
  if(sessionStorage.getItem('myheader') != null) i = sessionStorage.getItem('myheader');
  // go on next if requested
  if(next) i+=1;
  // max i = 3
  i=i%3;
  sessionStorage.setItem('myheader',i);
  // here change your background from an array of images
}
<header id="header">
<div class="imageshdr">
<button class="test"></button>
<button class="test2"></button>
<button class="test3"></button>
</div>
漆雕成弘
2023-03-14

我认为您不需要重复代码,也没有为#header赋予属性

这个答案是基于我对你问题的理解。

null

js prettyprint-override">window.onload=()=>{
  let image=localStorage.getItem("dataImage");
  document.getElementById("header").style.backgroundImage=`url('${image}')`;
}
function changetoimg() {
  document.getElementById("header").style.backgroundImage = "url('https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg')";
  localStorage.setItem("dataImage","https://i.pinimg.com/originals/a0/df/19/a0df19b8781bca3f2356013600131728.jpg")
}
 类似资料:
  • 问题内容: 我正在尝试通过Django Shell保存图像文件。 我的是: 一切都可以用admin和form进行,但是我想使用shell保存图像: 就像是 问题答案: 您最终将图像复制到中指定的目录中。 在这种情况下,该方法还将保存实例。可以在以下位置找到用于保存的文档:https://docs.djangoproject.com/en/dev/ref/files/file/

  • 在 material design 中,图像(无论是绘画还是摄影)都应该是组建而成而并非人为策划的,看起来神奇并且不显得过度制作。这种风格乐观,愉悦,并且坦率。这种风格比较强调场景的实质性(Materiality),质感,深度,让人意想不到的色彩运用, 以及对环境背景的关注。这些原则都旨在创建目的性强,美丽又有深度的用户界面。 原则 当使用绘画和摄影提升用户体验时,选择能够表达个人关联、信息和令人

  • 保存图像 能将图像保存至Memory Stick™或主机内存。 1. 让指针对准想要保存的图像,从选单列中选择[档案] > [保存图像]。 2. 选择[保存]。 提示 若想变更文件名或保存位置,请选择各项输入栏,并执行决定。

  • 我尝试此操作时出现以下错误 警告:fopen(/var/www/ajaxForm/loading.gif):无法打开流:在/var/www/curlmimage中没有这样的文件或目录。php第5行警告:fwrite()希望参数1是资源,布尔值在/var/www/curlmimage中给出。php第6行警告:fclose()希望参数1是资源,布尔值在/var/www/curlmimage中给出。ph

  • 问题内容: 好的,我已经尝试了几乎所有内容,但无法正常工作。 我有一个上面带有ImageField的Django模型 我有通过HTTP下载图像的代码(已测试并且可以工作) 图像直接保存到“ upload_to”文件夹中(upload_to是在ImageField上设置的文件夹) 我需要做的就是将已经存在的图像文件路径与ImageField相关联 我已经用6种不同的方式编写了这段代码。 我遇到的问题

  • 我想保存图像而不压缩它,并希望以其原始形式保存它,即当图像被压缩时,图像大小减小,图像变小。我使用原生相机为此目的。我在Android Studio工作。我正在制作一个应用程序,其中我使用相机来保存图像。但是图像被压缩,非常小,质量非常低。 下面是我保存图像的代码 更新1 为了更好地理解,我将我的方法 我搜索了解决方案,发现我可以使用AndroidBitmapUtil类,所以我复制并粘贴了这个类到