簡體   English   中英

設置 sessionStorage,更改圖像

[英]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'])."&amp;img_title_it=".clean_url($row_news['id_news']."-".$row_news['titolo_it'])."&amp;img_n=".$g."&amp;refer=".$row_news['refer']."&amp;link_out=".$link_out."&amp;captions_exist=".$captions_exist."&amp;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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM