【问题标题】:Custom simple Amazon-type star rating using jquery :lt使用 jquery 自定义简单的亚马逊类型星级评分:lt
【发布时间】:2013-10-13 16:44:42
【问题描述】:

因此,我正在尝试将鼠标悬停的评级系统设为第 4 星,并突出显示直到该星的所有星。我浏览了这里的许多帖子,坦率地说,有很多替代方案可能会更容易,但我喜欢自己做事,无论如何这只是为了好玩。基本上,我无法正常工作只是让我烦恼。

$(document).ready(function() {
 $(".star")
 .hover(

  function(){

  var n = $('#stars>.starHolder>.star').index(this);
  alert(n);
      $('.star:lt(n)').css('left', '-27px' );
  },
  function(){
      $('.star:lt(n)').css('left', '0px' );
      }
    );              
});

这就是我所拥有的,如果我输入 :lt(5) 或任何数字而不是 :lt(n),它会完全按预期工作;对于 10 个图像中的每一个,我都有 jQuery 将其向左和向后滑动。我唯一的问题是它的可变部分不起作用。在那里,我将警报设置为显示 n 并且它显示了一个数字,正如我所期望的那样,但它没有传递给函数。我在 Firebug 中没有收到任何错误。 很明显 Javascript 不是我的强项,所以请保持温和 :) 谢谢!

【问题讨论】:

  • 因为它是一个字符串,我不相信 javascript 知道插入你的变量。尝试类似 $('.start:lt(' + n + ')').css...
  • 我是个白痴... $('.star:lt('+n+')').css('left', '0px' );这
  • 这些小事可以让人发疯:)
  • BrianDHall,就是这样。谢谢

标签: javascript jquery rating-system


【解决方案1】:

n in lt(n) is not variable try to use

$('.star:lt('+n+')')

【讨论】:

  • 这是正确的先生。我盯着这个看了一个小时,尝试了不同的东西,但是当我发布时,我又看了一遍,就像“哦,那不是字面意思......”谢谢
猜你喜欢
  • 2011-04-26
  • 1970-01-01
  • 2015-04-11
  • 1970-01-01
  • 2012-09-30
  • 2022-12-08
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
相关资源
最近更新 更多