基于jQuery的投票系統(tǒng)顯示結(jié)果插件
更新時(shí)間:2011年08月12日 11:08:31 作者:
投票系統(tǒng)是網(wǎng)站中十分常見(jiàn)的系統(tǒng),顯示結(jié)果也是十分常見(jiàn)的。最近因?yàn)轫?xiàng)目需要開(kāi)發(fā)了一個(gè)投票結(jié)果顯示jQuery插件。
首先還是來(lái)看一下運(yùn)行效果如圖1所示。
該插件使用步驟
一、引入css文件
首先頁(yè)面引入css樣式文件‘votecss.css',他是投票結(jié)果正常顯示必不可少的。具體代碼如下所示:
<link href="startpic/votecss.css" rel="stylesheet" type="text/css" />
二、引入jQuery的就是源文件
該插件是以jQuery為基礎(chǔ)的所以引入jQuery插件是必須的具體代碼如下:
<script type="text/javascript" src="startpic/jquery.js"></script>
三、引入投票插件
引入自己開(kāi)發(fā)的投票插件“Studyplay_vote.js”,具體代碼如下所示:
<script src="startpic/Studyplay_vote.js"></script>
四、頁(yè)面調(diào)用
首先在頁(yè)面中添加一個(gè)ID為‘z'的div元素,編寫(xiě)JavaScript代碼顯示投票結(jié)果具體代碼如下:
<script type="text/javascript">
$(document).ready(function(){
$("#z").study_vote([{"options":"好評(píng)","data":"16","color":"#39c"},{"name":"中評(píng)","data":"10","color":"#f00"},{"name":"差評(píng)","data":"30","color":"#000"}]);
});
</script>
該段代碼運(yùn)行的效果如圖一所示。
說(shuō)明:該插件存在兩個(gè)參數(shù)
1、options 必填插件他是一個(gè)object數(shù)據(jù)具體形式如下所示。
[{},{}...{}]該數(shù)組的個(gè)數(shù)就是投票選項(xiàng)的個(gè)數(shù),如果投票有十個(gè)選項(xiàng)這個(gè)數(shù)組必須為10個(gè); 其中{}為json數(shù)據(jù),共有三項(xiàng)。
"name"表示投票選項(xiàng)的名稱(chēng);
"data"表示該選項(xiàng)投票數(shù);
"color"表示該選項(xiàng)柱形顏色。
2、totle可選參數(shù),可以省略不寫(xiě)。表示投票的總數(shù)量,主要用于多項(xiàng)選擇投票計(jì)算百分比。
該插件具體代碼
$.fn.study_vote= function(options,totle){
var settings=options;
if(totle!=null)
{
if(isNaN(totle))
{
alert('參數(shù)錯(cuò)誤');
return;
}
}
if(typeof(settings)!='object')
{
alert('參數(shù)錯(cuò)誤');
return;
}
var container = jQuery(this);
container.html('<dl id="studyvote"></dl>');
var study_voteCount=0;
if(totle==null||totle=='')
{//單項(xiàng)投票
for(i=0;i<settings.length;i++)
{
study_voteCount += parseInt(settings[i].data);
}
}
else
{//多項(xiàng)投票
study_voteCount = parseInt(totle);
}
var study_votestr="";
for(i=0;i<settings.length;i++)
{
var studyplay_present=settings[i].data/study_voteCount*100;
if(parseInt(studyplay_present)!=studyplay_present)
{
studyplay_present=studyplay_present.toFixed(2);
}
study_votestr +='<dd class="dd"><div class="fl">'+settings[i].name+':</div><div class="outbar"><div class="inbar" style="width:'+studyplay_present+'%;background:'+settings[i].color+';"></div></div> <div class="fl">'+studyplay_present+'% </div></dd>';
}
container.find('#studyvote').html(study_votestr)
}
插件下載
演示地址 http://demo.jb51.net/js/2011/studyplayvote/index.html
該文件的下載地址為:
studyplayvote.rar
希望朋友下載使用,有問(wèn)題謝謝反饋

一、引入css文件
首先頁(yè)面引入css樣式文件‘votecss.css',他是投票結(jié)果正常顯示必不可少的。具體代碼如下所示:
<link href="startpic/votecss.css" rel="stylesheet" type="text/css" />
二、引入jQuery的就是源文件
該插件是以jQuery為基礎(chǔ)的所以引入jQuery插件是必須的具體代碼如下:
<script type="text/javascript" src="startpic/jquery.js"></script>
三、引入投票插件
引入自己開(kāi)發(fā)的投票插件“Studyplay_vote.js”,具體代碼如下所示:
<script src="startpic/Studyplay_vote.js"></script>
四、頁(yè)面調(diào)用
首先在頁(yè)面中添加一個(gè)ID為‘z'的div元素,編寫(xiě)JavaScript代碼顯示投票結(jié)果具體代碼如下:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$(document).ready(function(){
$("#z").study_vote([{"options":"好評(píng)","data":"16","color":"#39c"},{"name":"中評(píng)","data":"10","color":"#f00"},{"name":"差評(píng)","data":"30","color":"#000"}]);
});
</script>
該段代碼運(yùn)行的效果如圖一所示。
說(shuō)明:該插件存在兩個(gè)參數(shù)
1、options 必填插件他是一個(gè)object數(shù)據(jù)具體形式如下所示。
[{},{}...{}]該數(shù)組的個(gè)數(shù)就是投票選項(xiàng)的個(gè)數(shù),如果投票有十個(gè)選項(xiàng)這個(gè)數(shù)組必須為10個(gè); 其中{}為json數(shù)據(jù),共有三項(xiàng)。
"name"表示投票選項(xiàng)的名稱(chēng);
"data"表示該選項(xiàng)投票數(shù);
"color"表示該選項(xiàng)柱形顏色。
2、totle可選參數(shù),可以省略不寫(xiě)。表示投票的總數(shù)量,主要用于多項(xiàng)選擇投票計(jì)算百分比。
該插件具體代碼
復(fù)制代碼 代碼如下:
$.fn.study_vote= function(options,totle){
var settings=options;
if(totle!=null)
{
if(isNaN(totle))
{
alert('參數(shù)錯(cuò)誤');
return;
}
}
if(typeof(settings)!='object')
{
alert('參數(shù)錯(cuò)誤');
return;
}
var container = jQuery(this);
container.html('<dl id="studyvote"></dl>');
var study_voteCount=0;
if(totle==null||totle=='')
{//單項(xiàng)投票
for(i=0;i<settings.length;i++)
{
study_voteCount += parseInt(settings[i].data);
}
}
else
{//多項(xiàng)投票
study_voteCount = parseInt(totle);
}
var study_votestr="";
for(i=0;i<settings.length;i++)
{
var studyplay_present=settings[i].data/study_voteCount*100;
if(parseInt(studyplay_present)!=studyplay_present)
{
studyplay_present=studyplay_present.toFixed(2);
}
study_votestr +='<dd class="dd"><div class="fl">'+settings[i].name+':</div><div class="outbar"><div class="inbar" style="width:'+studyplay_present+'%;background:'+settings[i].color+';"></div></div> <div class="fl">'+studyplay_present+'% </div></dd>';
}
container.find('#studyvote').html(study_votestr)
}
插件下載
演示地址 http://demo.jb51.net/js/2011/studyplayvote/index.html
該文件的下載地址為:
studyplayvote.rar
希望朋友下載使用,有問(wèn)題謝謝反饋
您可能感興趣的文章:
- jQuery動(dòng)態(tài)地獲取系統(tǒng)時(shí)間實(shí)現(xiàn)代碼
- jQuery 1.9.1源碼分析系列(十)事件系統(tǒng)之主動(dòng)觸發(fā)事件和模擬冒泡處理
- jquery實(shí)現(xiàn)彈窗(系統(tǒng)提示框)效果
- jQuery實(shí)現(xiàn)B2B網(wǎng)站后臺(tái)管理系統(tǒng)側(cè)導(dǎo)航
- jQuery利用DOM遍歷實(shí)現(xiàn)商城結(jié)算系統(tǒng)實(shí)戰(zhàn)
- jQuery實(shí)現(xiàn)簡(jiǎn)易商城系統(tǒng)項(xiàng)目實(shí)操
相關(guān)文章
jQuery.form.js插件不能解決連接超時(shí)(timeout)的原因分析及解決方法
jQuery.form.js是一個(gè)form插件,支持ajax表單提交和ajax文件上傳。最近在使用jquery.form.js提交包含文件的表單時(shí),當(dāng)碰上網(wǎng)速較慢時(shí),而我們又設(shè)置了timeout時(shí)我們的頁(yè)面會(huì)死在這里,怎么回事呢,下面腳本之家小編給大家解答下2016-10-10可以浮動(dòng)某個(gè)物體的jquery控件用法實(shí)例
這篇文章主要介紹了可以浮動(dòng)某個(gè)物體的jquery控件,實(shí)例分析了jquery控件實(shí)現(xiàn)頁(yè)面浮動(dòng)層的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07jquery實(shí)現(xiàn)點(diǎn)擊變換導(dǎo)航樣式的方法
這篇文章主要介紹了jquery實(shí)現(xiàn)點(diǎn)擊變換導(dǎo)航樣式的方法,可實(shí)現(xiàn)點(diǎn)擊導(dǎo)航菜單選項(xiàng)時(shí)動(dòng)態(tài)變換對(duì)應(yīng)選中項(xiàng)樣式的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08jQuery+ajax實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了jQuery+ajax實(shí)現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12簡(jiǎn)短幾句jquery代碼的實(shí)現(xiàn)一個(gè)圖片向上滾動(dòng)切換
短幾句jquery代碼實(shí)現(xiàn)一個(gè)圖片向上滾動(dòng)切換,需要的朋友可以參考下。2011-09-09jQuery實(shí)現(xiàn)動(dòng)態(tài)控制頁(yè)面元素的方法分析
這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)控制頁(yè)面元素的方法,結(jié)合實(shí)例形式分析了jQuery事件響應(yīng)及頁(yè)面元素動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12