问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jq商品评价的五星效果怎么实现

发布网友 发布时间:2022-04-26 19:50

我来回答

2个回答

懂视网 时间:2022-04-07 12:54

jQuery+PHP实现购物商城常用的星级评分效果,我们在商城平台购买商品后,会有个评分功能,本实例就来说说实现方法。

首先我们在.rate里面加入显示的灰星星p#big_rate、亮星星p#big_rate_up、分数span#s及span#g和提示信息p#my_rate。
接着我们写一个获取评分的方法get_rate() :


function get_rate(rate) { 
 rate = rate.toString(); 
 var s; 
 var g; 
 $("#g").show(); 
 if (rate.length >= 3) { 
 s = 10; 
 g = 0; 
 $("#g").hide(); 
 } else if (rate == "0") { 
 s = 0; 
 g = 0; 
 } else { 
 s = rate.substr(0, 1); 
 g = rate.substr(1, 1); 
 } 
 $("#s").text(s); 
 $("#g").text("." + g); 
 $(".big_rate_up").animate({ 
 width: (parseInt(s) + parseInt(g) / 10) * 14, 
 height: 26 
 }, 
 1000); 
 $(".big_rate span").each(function() { 
 $(this).mouseover(function() { 
  $(".big_rate_up").width($(this).attr("rate") * 14); 
  $("#s").text($(this).attr("rate")); 
  $("#g").text(""); 
 }).click(function() { 
  var score = $(this).attr("rate"); 
  $("#my_rate").html("您的评分:<span>" + score + "</span>"); 
  $.ajax({ 
  type: "POST", 
  url: "ajax.php", 
  data: "score=" + score, 
  success: function(msg) { 
   //alert(msg); 
   if (msg == 1) { 
   $("#my_rate").html("<span>您已经评过分了!</span>"); 
   } else if (msg == 2) { 
   $("#my_rate").html("<span>您评过分了!</span>"); 
   } else { 
   get_rate(msg); 
   } 
  } 
  }); 
 }) 
 }) $(".big_rate").mouseout(function() { 
 $("#s").text(s); 
 $("#g").text("." + g); 
 $(".big_rate_up").width((parseInt(s) + parseInt(g) / 10) * 14); 
 }) 
}

然后直接调用该方法即可:


get_rate(<?php echo $aver; ?>);

ajax.php接收前端发送过来的分数值,通过cookie判断用户IP和评分时间,防止重复评分。


$score = $_POST['score']; 
if (isset($score)) { 
 $cookiestr = getip(); 
 $time = time(); 
 if (isset($_COOKIE['person']) && $_COOKIE['person'] == $cookiestr) { 
 echo "1"; 
 } elseif (isset($_COOKIE['rate_time']) && ($time - intval($_COOKIE['rate_time'])) < 60) { 
 echo "2"; 
 } else { 
 $query = mysql_query("update raty set voter=voter+1,total=total+'$score' where id=1"); 
 $query = mysql_query("select * from raty where id=1"); 
 $rs = mysql_fetch_array($query); 
 $aver = 0; 
 if ($rs) { 
  $aver = $rs['total'] / $rs['voter']; 
  $aver = round($aver, 1) * 10; 
 } 
 //设置COOKIE 
 setcookie("person", $cookiestr, time() + 3600 * 365); 
 setcookie("rate_time", time(), time() + 3600 * 365); 
 echo $aver; 
 } 
}

raty表结构:


CREATE TABLE IF NOT EXISTS `raty` ( 
 `id` int(11) NOT NULL auto_increment, 
 `voter` int(10) NOT NULL default '0' COMMENT '评分次数', 
 `total` int(11) NOT NULL default '0' COMMENT '总分', 
 PRIMARY KEY (`id`) 
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

最后记得在raty评分表里面加一条数据。

本文来自Gxlcms,php教程栏目,欢迎学习!

热心网友 时间:2022-04-07 10:02

<script type="text/javascript">
$(function(){
$("img").click(function(){
$("#score").val($(this)[0].title);
var len = $(this).prevAll('img').length;
$("img").each(function(i,obj){
if(i<=len) obj.src="images/roses.png";
});
});

});
</script>

<body>
请评分:

<img src="images/rose.png" width="" height="" border="0" title="1分">
<img src="images/rose.png" width="" height="" border="0" title="2分">
<img src="images/rose.png" width="" height="" border="0" title="3分">
<img src="images/rose.png" width="" height="" border="0" title="4分">
<img src="images/rose.png" width="" height="" border="0" title="5分">

<br><br><input type="text" name="" id="score" />
</body>
简单写了下 你可以试下效果
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我现在九十斤每天跑半小时可以减肥吗? 一只蛋鸡吃多少饲料 永诚财险水滴重疾2021值得推荐吗?重疾赔付次数有多少? 瑞泰保险水滴瑞选重疾险好不好?值得买吗? 水滴守护真爱重大疾病保障计划值得推荐吗?可靠吗? 去西塘和乌镇 为什么生死狙击花圣总是玩人类 江门豪江华庭带装修吗? 江门豪江华庭售楼中心电话是多少? 这种美图软件叫什么? 常用的 iPhone 摄影应用有哪些? 新加坡 五元硬币 现在中国有五元硬币了 是吗 挖矿挣比特币实际是为谁工作的? 2011年5元硬币纪念币值多少钱? 新中国第一批一元硬币和第一批五角硬币分别是什么时候出产? 盐腌制了并冷冻的爬虾子,存放已经一到两个月了,还能拿出来吃吗,去年冬天的。要准确答案,猜测的别来, 在vscocam中看到喜欢的图片怎么保存?? vsco怎样修改保存路径的 爬虾怎么做用放盐吗 香港5元硬币什么时候发行的? 硬币的人民币 我国大陆发行过几次五元硬币 比特币“挖矿”是指什么? 5元硬币有吗 椒盐虾爬子的做法 五元硬币什么时候发行 五元硬币是什么时候发行的,去银行可以换到吗?2013年发行的五元硬币和_百度问一问 5元硬币什么时候发行 以前什么年代有五元硬币 jquery如何实现发表评论 在jquery中实现单击页面中的文字“请为我们的服务做出评价”,弹出消 ... 如何用jquery实现新浪微博 回复评论后出现的那个 回复成功的对话框... 农商银行的卡好吗? 精通JavaScript+jQuery的评价 Jquery怎样实现Ctrl+Enter组合键快捷发表评论 农村商业银行的卡外观好看吗? 如何评价Jquery easy ui 这个webui框架 农商银行信用卡好吗 美国亚马逊达人教您如何回复顾客评论和处理差评 下水道的井盖为什么是圆的? 农商银行登录必须有农商卡好吗 jquery实现漂亮的二级下拉菜单代码 广州农商银行定期存款也只有卡没有存折吗?用卡好不好?请高手回答。 原生JS 代码和用 jQuery 实现效果各有什么优劣势 javascript或者jquery 如何实现textarea获取或失去焦点时隐藏或者显示... 下水井的井盖为什么设计成圆形的? 农商银行的卡好用吗? javascript能做出很多特效,像jquery则是框架。那我想做一个小型的网站... 农商银行信用卡怎么样