JS與JQuery分別實現(xiàn)淘寶五星好評特效
本文實例為大家分享了JS與JQuery實現(xiàn)淘寶五星好評特效的具體代碼,供大家參考,具體內(nèi)容如下
我們經(jīng)常用的五星好評是如何來的,主要就是三個Event 中的三個事件分別:
onmouseover 指向事件
onmouseout 離開事件
onclick 點擊事件

代碼展示:
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="utf-8" />
? ? <title></title>
? ? <script>
? ? ? ? var clickIndex = -1;
? ? ? ? onload = function () {
? ? ? ? ? ? //獲取所有的img標(biāo)簽
? ? ? ? ? ? var imgs = document.getElementsByTagName('img');
? ? ? ? ? ? //遍歷所有圖片對象,為每個圖片注冊指向事件
? ? ? ? ? ? for (var index in imgs) {
? ? ? ? ? ? ? ? imgs[index].onmouseover = function () {
? ? ? ? ? ? ? ? ? ? //將當(dāng)前的及之前的圖片變黃,之后的變?yōu)榛疑?
? ? ? ? ? ? ? ? ? ? var id = this.id;//獲取當(dāng)前元素的id
? ? ? ? ? ? ? ? ? ? for (var i = 0; i < imgs.length; i++) {
? ? ? ? ? ? ? ? ? ? ? ? //當(dāng)前元素之前的元素
? ? ? ? ? ? ? ? ? ? ? ? if (i <= id) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? //star2為黃色圖片
? ? ? ? ? ? ? ? ? ? ? ? ? ? imgs[i].src = 'images/star2.png';
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? //當(dāng)前元素之后的圖片,顏色為灰色
? ? ? ? ? ? ? ? ? ? ? ? ? ? imgs[i].src = 'images/star1.png';
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? };
? ? ? ? ? ? ? ? //為每個圖片對象注冊移開事件
? ? ? ? ? ? ? ? imgs[index].onmouseout = function () {
? ? ? ? ? ? ? ? ? ? //被點擊項之前的元素為黃色
? ? ? ? ? ? ? ? ? ? for (var i = 0; i <= clickIndex; i++) {
? ? ? ? ? ? ? ? ? ? ? ? imgs[i].src = 'images/star2.png';
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? for (var i = clickIndex + 1; i < imgs.length; i++) {
? ? ? ? ? ? ? ? ? ? ? ? //被點擊項之后的元素為灰色
? ? ? ? ? ? ? ? ? ? ? ? imgs[i].src = 'images/star1.png';
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? };
? ? ? ? ? ? ? ? //為每個圖片注冊點擊事件
? ? ? ? ? ? ? ? imgs[index].onclick = function () {
? ? ? ? ? ? ? ? ? ? //記錄下來被點的圖片編號,編號與索引對應(yīng)
? ? ? ? ? ? ? ? ? ? clickIndex = parseInt(this.id);
? ? ? ? ? ? ? ? };
? ? ? ? ? ? }
? ? ? ? };?
? ? ?
? ? </script>
</head>
<body>
? ? <img id="0" src="images/star1.png" />
? ? <img id="1" src="images/star1.png" />
? ? <img id="2" src="images/star1.png" />
? ? <img id="3" src="images/star1.png" />
? ? <img id="4" src="images/star1.png" />
</body>
</html>JQuery實現(xiàn)方式
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="utf-8" />
? ? <title></title>
? ? <script src="../js/jquery-3.3.1.min.js"></script>
? ? <style>
? ? ? ? div{
? ? ? ? ? ? width:200px;
? ? ? ? ? ? height:200px;
? ? ? ? ? ? background-color :pink; ? ??
? ? ? ? }
? ? </style>
? ? <script>
? ? ? ? $(function () {
? ? ? ? ? ? var wjxs = "★";
? ? ? ? ? ? var wjxk = "☆";
? ? ? ? ? ? //鼠標(biāo)進(jìn)入事件
? ? ? ? ? ? $(".comment>li").on("mouseenter", function () {
? ? ? ? ? ? ? ? $(this).text(wjxs).prevAll().text(wjxs);
? ? ? ? ? ? ? ? $(this).nextAll().text(wjxk);
? ? ? ? ? ? });
? ? ? ? ? ? //離開事件,所有的li變成空心
? ? ? ? ? ? $(".comment").on("mouseleave", function () {
? ? ? ? ? ? ? ? $(this).children().text(wjxk);
? ? ? ? ? ? ? ? // 找到current,讓current以及current前面的變成實心
? ? ? ? ? ? ? ? $("li.current").text(wjxs).prevAll().text(wjxs);
? ? ? ? ? ? });
?
? ? ? ? ? ? //給li注冊點擊事件,獲取當(dāng)前元素的位置current
? ? ? ? ? ? $(".comment>li").on("click", function () {
? ? ? ? ? ? ? ? $(this).addClass("current").siblings().removeClass("current");
? ? ? ? ? ? });
? ? ? ? });
? ? </script>
</head>
<body>
? ? <div>
? ? ? ? <ul class="comment">
? ? ? ? ? ? <li>☆</li>
? ? ? ? ? ? <li>☆</li>
? ? ? ? ? ? <li>☆</li>
? ? ? ? ? ? <li>☆</li>
? ? ? ? ? ? <li>☆</li>
? ? ? ? </ul>
? ? </div>
?
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序全局變量GLOBALDATA的定義和調(diào)用過程解析
這篇文章主要介紹了微信小程序全局變量GLOBALDATA的定義和調(diào)用過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
《JavaScript DOM 編程藝術(shù)》讀書筆記之DOM基礎(chǔ)
這篇文章主要介紹了《JavaScript DOM 編程藝術(shù)》讀書筆記之DOM基礎(chǔ),需要的朋友可以參考下2015-01-01
javascript實現(xiàn)博客園頁面右下角返回頂部按鈕
這篇文章主要介紹了使用javascript實現(xiàn)博客園頁面右下角返回頂部按鈕的思路及源碼,非常不錯,這里推薦給小伙伴們2015-02-02
詳解關(guān)閉令人抓狂的ESlint 語法檢測配置方法
這篇文章主要介紹了詳解關(guān)閉令人抓狂的ESlint 語法檢測配置方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
基于 webpack2 實現(xiàn)的多入口項目腳手架詳解
這篇文章主要給大家介紹了基于 webpack2 實現(xiàn)的多入口項目腳手架的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06

