0

これを保存するのに助けが必要です。画像を入れ替えることはできますが、保存することはできません。画像を保存するための更新ボタンを考えています。または、変更が行われたときに自動保存することもできます。誰かがクッキーか何かについて言及しました。私は Cookie に詳しくないので、もっと簡単な解決策が欲しいです。実際のページには約 100 個の画像があり、変更を永続的に保持するには保存機能が必要です。

誰かがこれを理解できることを願って、これを見てくれてありがとう

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Swap demo</title>

<style type="text/css">
#GALLERY td {
height: 200px; width: 200px;
text-align: center;
vertical-align: middle;
}
#GALLERY td img, #GALLERY td img.normal {
border: solid white 5px;
}
#GALLERY td img.highlighted {
border: solid red 5px;
}
</style>

</head>
<body>
  <table id="GALLERY">
  <tr>
      <td>
          <img src="http://www.clearviewarts.com/thumbnails/Puppy In Basket.jpg"      alt="Dogs"/>          
      </td>
      <td>
          <img src="http://www.clearviewarts.com/thumbnails/BabyIndy.jpg" alt="Dogs"/>          
      </td>
      <td>
          <img src="http://www.clearviewarts.com/thumbnails/HarlequinDane.jpg" alt="Dogs"/>          
      </td>
  </tr>
  <tr>
      <td>
          <img src="http://www.clearviewarts.com/thumbnails/Pug.jpg" alt="Dogs"/>          
      </td>
      <td>
          <img src="http://www.clearviewarts.com/thumbnails/Wagner-edit1.jpg" alt="Dogs"/>          
      </td>
      <td>
          <img src="http://www.clearviewarts.com/thumbnails/CanusAngelicus.jpg" alt="Dogs"/>          
      </td>
  </tr>
  </table>

<script type="text/javascript">
var pix = document.getElementById("GALLERY").getElementsByTagName("img");
for ( var p = 0; p < pix.length; ++p )
{
pix[p].onclick = picclick;
}

var firstImage = null;
function picclick( )
{
// to cancel a swap, click on first image again:
if ( firstImage == this ) 
{
    this.className = "normal";
    firstImage = null;
    return;
}
// is this first image clicked on?
if ( firstImage == null )
{
    // yes
    firstImage = this;
    this.className = "highlighted";
    return; // nothing more to do
}
// aha! second image clicked on, so do swap
firstImage.className = "normal";
var temp = this.src;
this.src = firstImage.src;
firstImage.src = temp;
firstImage = null;

}
</script>
</body>
</html>
4

1 に答える 1

0

これが私がすることです(これが役立つことを願っています)。

  • (サーバー上で) JS でイメージ名の配列を作成します。
  • 配列に従って (JS 経由で) HTML をレンダリングします。
  • ユーザーが画像を交換した場合は、配列を変更して再レンダリングします。
    • レンダリングはサーバーからデータを取得する必要がないため、ちらつきはありません。
    • onclick イベントは、どの画像が変更されているかを update 関数に通知する必要があります。
  • 表示順序を保存する場合は、現在の配列をサーバーに POST します。

それが複雑すぎると思われる場合は、これらを見てください

http://owenberesford.me.uk/17690427/sample.htmlを見てください 。

  • 「実際の」コードの場合、通常はテストケースから始めます...
  • これは FF と Opera (両方の Linux) で動作しますが、MSIE ではテストされていません。
  • 最大限の自由を可能にするために、フレームワークは使用されていません。
  • すべてがクライアント上で実行されるため、表示/保存するだけです。
于 2013-07-17T04:18:36.203 に答える