0

ボタンがクリックされた後、ページがリロードされた後、クリックされた状態を保持する方法を見つけようとしています。私のコードブローでは、onclickイベントを使用しているので、別のイベントを追加する必要がある場合は、そうすることができます...クリックされた状態を維持する方法を見つけようとしています。いつでも助けてくれてありがとう、ありがとう。

<html>
<head>

<style type="text/css">
#sub3 {
position: absolute;
left: 100px;
top: 200px;
background-color: #f1f1f1;
width: 180px;
padding: 10px;
color: black;
border: #0000cc 2px dashed;
display: none;
}
</style>

<script language="JavaScript">
function setVisibility(id, visibility) {
document.getElementById(id).style.display = visibility;
}
</script>

</head>
<body >

<input id="input1" type=button value='Show Layer' onclick="setVisibility('sub3', 'inline');";>

<div id="sub3">Message Box</div>

</body>
</html>
4

2 に答える 2

0

Cookie を設定するための JavaScript 関数があります Cookie の値を設定および取得するためにこれらのスニペットを使用します

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
  {
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

どちらの関数もw3schools チュートリアルからのものです

于 2012-11-17T07:34:24.727 に答える
0

JavaScript はクライアント側であるため、ページを更新するたびに、ユーザーによるクリック イベントなどの情報が失われます。

ページを更新する必要があり、Ajax を使用できない特定の理由があると仮定すると、クリック時に Cookie を設定し、次のページの読み込み時にその Cookie がクリックされたかどうかを確認することで、目的を達成できます。

これは、JavaScript で Cookie を設定/取得するための優れた入門書です。必要に応じて、優れたJquery プラグインもあります。

基本的に、onclick呼び出しでは、Cookie に値を設定し、setVisiblity 関数も実行する関数を呼び出します。

function clicked(id, visibility) {
    setVisibility(id, visibility);
    setCookie() // this calls your set cookie function
    return true;
}

ページの読み込み時に、設定した Cookie が存在するかどうかを確認する関数を作成します。その場合は、 setVisibility 関数を再度呼び出して、ボタンのスタイルを変更できます。

于 2012-11-17T07:39:53.480 に答える