如何用JavaScript做出淘寶評星效果
樓主也是剛開始學JavaScript,覺得淘寶評星效果很棒,於是產生了自己寫一個的想法 現附上樓主自己寫的原始碼 ``` <!DOCTYPE html> function star(n) { var array=new Array(); array[0]=document.getElementById("oneStar"); array[1]=document.getElementById("twoStar"); array[2]=document.getElementById("threeStar"); array[3]=document.getElementById("fourStar"); array[4]=document.getElementById("fiveStar"); for(var i=0;i<=n;i++) { array[i].innerText="★"; } for( var j=4;j>n;j--) { array[j].innerText="☆"; } document.getElementById("evaluate").innerText="您的評價是"+(n+1)+"星"; } 評星 請您對我們作出評價: ☆ ☆ ☆ ☆ ☆
**樓主剛開始的時候將用了兩個for迴圈就是這樣的:**
for(var i=0;i<=n;i++)
{
document.getElementById("fiveStar").innerText="★";
}
for( var j=4;j>n;j--)
{
document.getElementById("fiveStar").innerText="☆";
}
大神們估計已經看出來了,在for迴圈之後HTML裡的span已經失去了作用,也就是說它只能評價一次.....
**於是樓主順著這個思路想到了用陣列解決這個問題,就是讓評星效果裡的每一顆星儲存到陣列裡,寫出了上述的程式碼,可樓主還犯了一個小錯誤,著實困惱了許久....**
array[0]=document.getElementById("oneStar").innerText;
樓主這樣定義的陣列....結果可想而知,後面的程式碼根本無法改變評星,後來樓主想明白了,這樣的定義直接將ID為onestar的元素的內容賦值給了陣列,也就是說陣列成了一個指向陣列的指標....自然無法改變對應元素的值.
**後來樓主就算是頓悟了....**
之後又加了一些CSS效果
**成品是這樣的:**
<!DOCTYPE html>
淘寶評分效果
ul, li {margin: 0; padding: 0; border: 0;}
.shop-rating {
height: 25px;
overflow: hidden;
zoom: 1;
padding: 2px 0;
position: relative;
z-index: 999;
font:12px Arial;
color:#000;
line-height:1.2em
}
.shop-rating span {
height: 23px;
display: block;
line-height: 23px;
float: left;
}
.shop-rating span.title {
width: 125px;
text-align: right;
margin-right: 5px;
}
.shop-rating ul {
float: left;
}
.shop-rating .result {
margin-left: 20px;
padding-top: 2px;
}
.shop-rating .result span {
color: #ff6d02;
}
.rating-level,
.rating-level a {
background: url(http://files.jb51.net/demoimg/201007/o_star.png) no-repeat scroll 1000px 1000px;
}
.rating-level {
background-position: 0px 0px;
width: 120px;
height: 23px;
position: relative;
z-index: 1000;
}
.shop-rating .result em {
color: #f60;
font-family: arial;
font-weight: bold;
}
.rating-level li {
display: inline;
}
.rating-level a {
line-height: 23px;
height: 23px;
position: absolute;
top: 0px;
left: 0px;
text-indent: -999em;
*zoom: 1;
outline: none;
}
.rating-level a.one-star {
width: 20%;
z-index: 6;
}
.rating-level a.two-stars {
width: 40%;
z-index: 5;
}
.rating-level a.three-stars {
width: 60%;
z-index: 4;
}
.rating-level a.four-stars {
width: 80%;
z-index: 3;
}
.rating-level a.five-stars {
width: 100%;
z-index: 2;
}
.rating-level .current-rating, .rating-level a:hover {background-position:0 -28px}
.rating-level a.one-star:hover,.rating-level a.two-stars:hover,.rating-level a.one-star.current-rating,.rating-level a.two-stars.current-rating{background-position:0 -116px;}
.rating-level .three-stars .current-rating,.rating-level .four-stars .current-rating,.rating-level .five-stars .current-rating{background-position:0 -28px;}
``` Happy hacking!
相關文章
- JS五星級評分效果(類似與淘寶打分效果)JS
- jQuery星級評分效果詳解jQuery
- 純CSS的星級評價效果CSS
- 滑鼠劃過星級評分效果詳解
- CSS3星級評分效果程式碼CSSS3
- CSS能做出的效果CSS
- 溫潤手感如美玉 三星全新Galaxy A5評測
- 淘寶API分享:獲取淘寶商品評論API
- JavaScript模擬無重新整理評論效果JavaScript
- jQuery打造淘寶展示效果和淘寶輪播圖jQuery
- 淘寶/天貓淘寶評論問答列表(item_question_answer-淘寶評論問答列表介面)
- jQuery+PHP實現購物商城常用的星級評分效果jQueryPHP
- 臺電X80 Plus平板評測 素白如瓷纖如佩
- Flutter星級評選Flutter
- item_review - 獲得淘寶評論View
- 學習 canvas 的 globalCompositeOperation 做出的神奇效果Canvas
- 怎樣用CSS做出3D效果的雲CSS3D
- JavaScript拖拽效果JavaScript
- Javascript抓取京東、淘寶商品資料JavaScript
- 如何做出“報表載入請稍後”的效果
- 梯比活動-淘寶活動效果-電商類網站網站
- 機器學習初學者:如何用黑科技做出 Kaggle 前 15 的成績 ?機器學習
- 如何用canvas實現大波紋灌水效果Canvas
- 星級評價的實現
- JavaScript 秒錶效果JavaScript
- JavaScript抖動效果JavaScript
- JavaScript元素動畫效果JavaScript動畫
- javascript瀑布流效果JavaScript
- 淘寶商品評論介面,商品評論內容,天貓商品評論介面程式碼展示
- 如何用ppt做出驚豔的視覺化圖表?教你3個妙招視覺化
- 面對物件五星好評物件
- 利用cookie做五星好評Cookie
- 網路爬蟲 淘寶/天貓獲得淘寶商品評論 API 返回值說明爬蟲API
- 用Qt(C++)實現如蘋果般的亮屏效果QTC++蘋果
- canvas繪製北斗七星效果Canvas
- JavaScript 省市級聯效果JavaScript
- JavaScript 簡單動畫效果JavaScript動畫
- JavaScript元素抖動效果JavaScript