javascript淘宝评星简版
2010-07-06 21:44 BlueDream 阅读(5144) 评论(12) 编辑 收藏 举报【实例演示】
【程序源码】
这个效果主要体现在CSS和javascript的配合上
CSS代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | 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://images.cnblogs.com/cnblogs_com/bluedream 2009 / 201609 /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 ;} |
HTML结构
1 2 3 4 5 6 7 8 9 10 11 12 | < div class="shop-rating"> < span class="title">你对我人品的评价:</ span > < ul class="rating-level" id="stars2"> < li >< a href="javascript:void(0);" class="one-star" star:value="20">20</ a ></ li > < li >< a href="javascript:void(0);" class="two-stars" star:value="40">40</ a ></ li > < li >< a href="javascript:void(0);" class="three-stars" star:value="60">60</ a ></ li > < li >< a href="javascript:void(0);" class="four-stars" star:value="80">80</ a ></ li > < li >< a href="javascript:void(0);" class="five-stars" star:value="100">100</ a ></ li > </ ul > < span id="stars2-tips" class="result"></ span > < input type="hidden" id="stars2-input" name="b" value="" size="2" /> </ div > |
Javascript代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | var TB = function () { var T$ = function (id) { return document.getElementById(id) } var T$$ = function (r, t) { return (r || document).getElementsByTagName(t) } var Stars = function (cid, rid, hid, config) { var lis = T$$(T$(cid), 'li' ), curA; for ( var i = 0, len = lis.length; i < len; i++) { lis[i]._val = i; lis[i].onclick = function () { T$(rid).innerHTML = '<em>' + (T$(hid).value = T$$( this , 'a' )[0].getAttribute( 'star:value' )) + '分</em> - ' + config.info[ this ._val]; curA = T$$(T$(cid), 'a' )[T$(hid).value / config.step - 1]; }; lis[i].onmouseout = function () { curA && (curA.className += config.curcss); } lis[i].onmouseover = function () { curA && (curA.className = curA.className.replace(config.curcss, '' )); } } }; return {Stars: Stars} }().Stars( 'stars2' , 'stars2-tips' , 'stars2-input' , { 'info' : [ '人品极差' , '人品不咋地' , '人品一般吧' , '人品不错' , '人品极好啊' ], 'curcss' : ' current-rating' , 'step' : 20 }); |
【源码下载】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述