[英]Set sessionStorage, change image
我只是希望根据我设置的 sessiontorage,图像会改变...... sessiontorage 设置正确,但图像不会改变......
我错过了什么?
function caption_on_off() { if(sessionStorage.getItem("caption_on_off") == 'off'){ sessionStorage.setItem("caption_on_off", 'on'); }else{ sessionStorage.setItem("caption_on_off", 'off'); } } function change_caption_img(){ if(sessionStorage.getItem("caption_on_off") == 'off'){ document.getElementById('caption_on_off_img').src = 'images/on.png'; }else{ document.getElementById('caption_on_off_img').src = 'images/off.png'; } } change_caption_img();
<div id="gallery_div_caption" onclick="Hide('gallery_div_caption'); caption_on_off();"><img id="caption_on_off_img" src="images/off.png"></div>
我想单独做,因为该页面是一个 php 页面,并且重新加载了新变量、新的 mysql 查询等,但我需要该页面即使在重新加载后也能根据 sessionstorage 状态记住它应该加载哪个图像。
如果全部是 php,我会保存在 coockie 中并在 php 中读取它,我可以通过 php 读取 sessiontorage 吗?
- - - - - - - - - - -更新 - - - - - - - - - - -
我正在考虑按照 M1K1O 的建议向我的 ajax url 添加一个变量,这可能是最简单的方法,但它是一团糟,因为它是通过 php 编译的,然后使用所有可能的引号添加到 html 文本中......我如何添加现在会话存储在这里吗?
$link_onclick .= "javascript:AjaxPhp('img_div', 'gallery_img.php', '?img_title=".clean_url($row_news['id_news']."-".$row_news['titolo'])."&img_title_it=".clean_url($row_news['id_news']."-".$row_news['titolo_it'])."&img_n=".$g."&refer=".$row_news['refer']."&link_out=".$link_out."&captions_exist=".$captions_exist."&caption_on_off= ... session storage here...'); Show('gallery_div'); return(false);";
我认为您的功能和逻辑很好,但是您的语法只会调用一次。 要么将其包装在文档就绪或文档加载中,要么我建议使用 IIFE,如果您希望在每个页面重新加载时调用您的函数,如下所示:
(function change_caption_img(){
if(sessionStorage.getItem("caption_on_off") == 'off'){
document.getElementById('caption_on_off_img').src = 'images/on.png';
}else{
document.getElementById('caption_on_off_img').src = 'images/off.png';
}
})();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.