ホームページ ウェブフロントエンド jsチュートリアル Jquery および WebMethod 投票 function_jquery に基づくコード

Jquery および WebMethod 投票 function_jquery に基づくコード

May 16, 2016 pm 06:11 PM
jquery 投票する

1: 機能の説明
1) ユーザーが投票するときは、マウスで星をクリックするだけで投票できます。2) 投票せず、投票します 投票完了後、スターのスタイルが異なります
3) 各スターには、「悪い」、「平均」、「OK」、「良い」などのカスタマイズされたプロンプトを含めることができます
4)投票が完了すると、投票結果がアニメーションで表示されます。これ以上の投票はできません


2: アイデアの説明
1, 3) ループを使用し、最大値は星の数を指定し、各ループ a> ステートメントに / を追加します。このハイパーリンクは、クラスを通じて星のスタイルを指定し、ループの完了後にマウスがその上に移動したときに表示されるテキストを指定します。 、Jquery の append 関数
を介してターゲット コンテンツ領域に追加されます。 2) Jquery の addClass およびremoveClass を介して、このメソッドは星のスタイルを動的に調整できることに注意してください。特定の位置にある場合は、前のスターのスタイルを追加する必要があります。Jquery の prevAll() を使用して現在の位置の前のスターを取得し、add($(this)) を使用して現在の位置のスターの参照を取得します。
得点前:

UnScore 得点中:

Scoreing得点後:

beenScore4) ターゲット領域の子ノードで選択した星の位置 1 に基づいてスコアを生成します Children().index($( this)) その後、スコアは ajax を介してサーバーと対話し、返されます評価スコアを削除し、を追加し、背景画像を横位置に設定すると、幅に応じて調整できます。 *平均スコアによって の最終的な幅が決まり、アニメーション効果を実現するために animate が使用されます。

1) JavaScript コード
便宜上、AJAX インタラクション用に独自のロジックを作成しました。コードは次のとおりです。


コードをコピーします
コードは次のとおりです: (function ($) { $.fn.Rate = function (options) {
options = オプション || {};
var StarTip = options.StarTip || ['一見の価値がない'、'信頼できる情報'、'非常に役に立った'、'素晴らしい情報']; >var アイテム金額 = オプション.アイテム金額 ||
var レートクラス名 = 'スター_オン'; || 'OriginalState';
var PostURL = options.DoAfterPost || ''; ;
var messageID = オプション .messageID || '';
var content = $(this);
for (var i = 0; i ) {
starList = [''].join ('');
}
content.empty().append(starList).find('a').hover(function () {
$(this).prevAll().add( $(this)).addClass(RateClassName);
}, function () {
$(this).prevAll().add($(this)).removeClass(RateClassName); .one('click', function () {
var core = parseInt(content.children().index($(this))) 1;
$.ajax({
type: "POST ",
url: PostURL ,
data: "{messageID:" messageID ",userID:" userID ",Score:" スコア "}",
contentType: "application/json; 8",
dataType: "json",
success: function (msg) {
var result = (jQuery.parseJSON(msg.d)).SuccessFlag;
DoAfterPost(result);
content.empty().removeClass();
$('').addClass(originalStateClassName).prependTo(content).animate({ 'width': 16 * result 'px', '不透明度': 1 }, '遅い')
}
}); );


参数说明:

参数名称 描述 默认值 参数类型
StarTip 鼠标移到星星上的文本提示 ['不值一看', '平平无奇', '信息靠谱', '对我很有帮助', '极品信息'] javascript数组
[tip]:数组元素个数必须要和星星个数一致
ItemAmount 星星的个数 5 数字
UnRateClassName 还没投票时星星的样式名称 'star' 字符串
RateClassName 投票中,鼠标移过时星星的样式 'star_on' 字符串
originalStateClassName 投票完成后,结果展示时星星的样式 'OriginalState' 字符串
PostURL ajax交互时,url参数 '' 字符串
DoAfterPost 投票完成后,在投票页面使用自定义方法 '' 字符串
userID ajax交互时用户ID,防止重复投票 '' 数字
messageID ajax交互时文章ID '' 数字
2) フロントエンド参照コード
コードをコピー コードは次のとおりです。

$( '#left table tr :eq(1) td:eq(0) #StarRate').Rate({
PostURL: 'http://www.cnblogs.com/ServiceProvider/MessageInfoService.asmx/VoteMessage',
userID: UserID 、
messageID: messageID、
DoAfterPost: function (data) {
if (data > 0) {
$(voteResultContext).html(data); }
else {
Process NoticeShow('既に投票しました')
}
}
});
}

4) スタイルシート


コードをコピーします コードは次のとおりです。
.star{ height:16px; 16px; float:left; 背景:url(../images/star.gif) 繰り返しなし 0 0;}
.star_on{ 背景: url(../images/star.gif) 繰り返しなし 0 - 32px !重要;}
.OriginalState{ width:0px;background: url(../images/star.gif)repeat-x 0 -16px !重要;不透明度:0;高さ:16px;}


3) サーバー側コード


/// < ;summary>
/// メッセージに投票します。戻り値が 0 より大きい場合は成功を意味します
/// ;param name="メッセージID">メッセージID
/// ユーザーID
/// ///
[WebMethod]
public string VoteMessage(int messageID, int userID ,int Score)
>SQLCMD = new SqlCommand("MessageInfo_Add_VoteUsefull_MessageIDUserID", SQLConnect);
SQLCMD.CommandType = CommandType.StoredProcedure;
SQLCMD.Parameters.Add(new SqlParameter("@messageID",SqlDbType.Int)); SQLCMD.Parameters["@messageID"]. 値 = messageID;
SQLCMD.Parameters.Add(new SqlParameter("@userID",SqlDbType.Int));
SQLCMD.Parameters["@userID"]。値 = ユーザー ID;
SQLCMD.Parameters .Add(new SqlParameter("@Score", SqlDbType.Int));
SQLCMD.Parameters["@Score"].Value = スコア; BasicSQLAccess.ExeScalarReturnValueFloat(SQLCMD);
HTFlag = new HTFlag();
return JsonConvert.SerializeObject(HTFlag);

JsonConvert.SerializeObject について コンテンツの概要とフロントエンド Jquery との対話については、以前の記事
4:
をダウンロードする
を参照してください。 CSS、JS、スター画像を含む圧縮パッケージ

クリックしてダウンロード
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド Feb 27, 2024 pm 06:45 PM

jQuery 参照方法の詳細説明: クイック スタート ガイド jQuery は、Web サイト開発で広く使用されている人気のある JavaScript ライブラリであり、JavaScript プログラミングを簡素化し、開発者に豊富な機能を提供します。この記事では、jQuery の参照方法を詳しく紹介し、読者がすぐに使い始めるのに役立つ具体的なコード例を示します。 jQuery の導入 まず、HTML ファイルに jQuery ライブラリを導入する必要があります。 CDN リンクを通じて導入することも、ダウンロードすることもできます

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? Feb 28, 2024 pm 03:12 PM

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQuery で PUT リクエストを送信する方法は、他のタイプのリクエストを送信する方法と似ていますが、いくつかの詳細とパラメータ設定に注意する必要があります。 PUT リクエストは通常​​、データベース内のデータの更新やサーバー上のファイルの更新など、リソースを更新するために使用されます。以下は、jQuery の PUT リクエスト メソッドを使用した具体的なコード例です。まず、jQuery ライブラリ ファイルが含まれていることを確認してから、$.ajax({u

jQueryで要素の高さ属性を削除するにはどうすればよいですか? jQueryで要素の高さ属性を削除するにはどうすればよいですか? Feb 28, 2024 am 08:39 AM

jQueryで要素の高さ属性を削除するにはどうすればよいですか?フロントエンド開発では、要素の高さ属性を操作する必要が生じることがよくあります。要素の高さを動的に変更する必要がある場合や、要素の高さ属性を削除する必要がある場合があります。この記事では、jQuery を使用して要素の高さ属性を削除する方法と、具体的なコード例を紹介します。 jQuery を使用して高さ属性を操作する前に、まず CSS の高さ属性を理解する必要があります。 height 属性は要素の高さを設定するために使用されます

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する Feb 28, 2024 pm 09:06 PM

タイトル: jQuery ヒント: ページ上のすべての a タグのテキストをすばやく変更する Web 開発では、ページ上の要素を変更したり操作したりする必要がよくあります。 jQuery を使用する場合、ページ内のすべての a タグのテキスト コンテンツを一度に変更する必要がある場合があります。これにより、時間と労力を節約できます。以下では、jQuery を使用してページ上のすべての a タグのテキストをすばやく変更する方法と、具体的なコード例を紹介します。まず、jQuery ライブラリ ファイルを導入し、次のコードがページに導入されていることを確認する必要があります: &lt

jQuery を使用してすべての a タグのテキスト コンテンツを変更する jQuery を使用してすべての a タグのテキスト コンテンツを変更する Feb 28, 2024 pm 05:42 PM

タイトル: jQuery を使用して、すべての a タグのテキスト コンテンツを変更します。 jQuery は、DOM 操作を処理するために広く使用されている人気のある JavaScript ライブラリです。 Web 開発では、ページ上のリンク タグ (タグ) のテキスト コンテンツを変更する必要が生じることがよくあります。この記事では、この目標を達成するために jQuery を使用する方法を説明し、具体的なコード例を示します。まず、jQuery ライブラリをページに導入する必要があります。 HTML ファイルに次のコードを追加します。

jQuery における eq の役割と応用シナリオを理解する jQuery における eq の役割と応用シナリオを理解する Feb 28, 2024 pm 01:15 PM

jQuery は、Web ページでの DOM 操作やイベント処理を処理するために広く使用されている人気のある JavaScript ライブラリです。 jQueryではeq()メソッドを利用して指定したインデックス位置の要素を選択しますが、具体的な使い方と応用シーンは以下の通りです。 jQuery では、 eq() メソッドは、指定されたインデックス位置にある要素を選択します。インデックス位置は 0 からカウントされます。つまり、最初の要素のインデックスは 0、2 番目の要素のインデックスは 1 などとなります。 eq() メソッドの構文は次のとおりです。 $("s

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? Feb 29, 2024 am 09:03 AM

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery を使用して DOM 要素を操作する場合、要素に特定の属性があるかどうかを判断する必要がある状況がよく発生します。この場合、jQuery が提供するメソッドを使用してこの関数を簡単に実装できます。以下では、jQuery 要素が特定の属性を持つかどうかを判断するために一般的に使用される 2 つの方法を紹介し、具体的なコード例を添付します。方法 1: attr() メソッドと typeof 演算子 // を使用して、要素に特定の属性があるかどうかを判断します

jQueryを使用してテーブルに新しい行を追加する方法の紹介 jQueryを使用してテーブルに新しい行を追加する方法の紹介 Feb 29, 2024 am 08:12 AM

jQuery は、Web 開発で広く使用されている人気の JavaScript ライブラリです。 Web 開発中は、JavaScript を使用してテーブルに新しい行を動的に追加することが必要になることがよくあります。この記事では、jQuery を使用してテーブルに新しい行を追加する方法を紹介し、具体的なコード例を示します。まず、jQuery ライブラリを HTML ページに導入する必要があります。 jQuery ライブラリは、次のコードを通じてタグに導入できます。

See all articles