0

ボタンをクリックすると、.Post()内に次のコードがあります。

if (Comment != null && Grade > 0) {
    $("navigation").attr('a[data-id="' + QuestionID + '"]')
                   .css({ "background-color": "green" });
} else if (Comment == null && Grade == null) {
    $('a[data-id="' + QuestionID + '"]').css({ "background-color": "#D8D8D8" });

Webアプリケーションを閉じるか、更新するだけで色が消えます。閉じたり更新したりしても、色を永久に維持するにはどうすればよいですか?クラスなどを追加する必要がありますか?

4

5 に答える 5

2

わかりましたので、簡単に答えます。できません

長い答え: CSS ファイルはリモートサーバーに保存され、要求に応じて ( <link />HTML ドキュメントの head 内の タグを介して) 提供されます。JavaScript は、ローカルマシンのブラウザーで実行されます (node.js を実行していない場合はそうです)。そのため、その特定のスクリプト インスタンス/ページ ビューが実行されている限り、変更は存在しません。ページをリロードすると、(キャッシュ設定に応じて) CSS ファイルが再要求され、リロードされます。

したがって、ユーザーがサーバー ファイルを自由に変更できるようにしない限り (非常に悪い考えです)、やりたいと思っていることを実際に行うことはできません...

HTH。

于 2012-04-30T07:10:37.110 に答える
1

色の状態をブラウザーの Cookie に保存する必要があります。そうしないと、ページの更新を処理できません。色の変更を Cookie に保存し、Cookie が存在するかどうかを確認し、それに応じて変更をマークする onLoad ハンドラーを追加します。

あなたはjQueryを使っていると思いますので、試してみてください

$.cookie("colorSet", "true", { expires: 7 });

あなたのページのonLoadメソッドをもう一度チェックすることができます

$.cookie("colorSet") == "true" 

もう一度変更してください。

于 2012-04-30T07:11:21.617 に答える
1

このコードを javascript 関数 (関数 colorChange() など) に移動し、この関数 onLoad() および onClick() (ボタンが押されたとき) を呼び出します。

于 2012-04-30T06:58:31.373 に答える
1

クラスを追加するなど、永続的にマークする方法を見つける必要があると思います.cssを編集して解決できるからです。
コメントを投稿しようとしていると思いますか?サーバー側のコードにそのクラスまたは何かを追加します。

于 2012-04-30T07:05:55.413 に答える
-1

jquery では、クリック機能が完了したときにクラスを追加できます。

$(".navigation").onclick{function(){
        $(".class_name").addClass(); 
    }
)};
于 2012-04-30T07:06:12.693 に答える