Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JQuery的星级设置转化为控制_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 将JQuery的星级设置转化为控制

Javascript 将JQuery的星级设置转化为控制,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这个,非常酷,我第一次尝试创建jquery控件。这很简单,只是一个星级控制 我希望能够将其转换为控件,以便调用: $('#someDiv').starRating(); 它把那个女主角变成了明星 我希望能够设置一些属性: 空星源 悬停星源 星级(如果是新的等级,则留空) 所以它看起来像这样: $('#someDiv').starRating({ emptyStarSource : 'http://www.imageland.com/image.png', hoverStar

我有这个,非常酷,我第一次尝试创建jquery控件。这很简单,只是一个星级控制

我希望能够将其转换为控件,以便调用:

$('#someDiv').starRating();
它把那个女主角变成了明星

我希望能够设置一些属性:

  • 空星源
  • 悬停星源
  • 星级(如果是新的等级,则留空)
  • 所以它看起来像这样:

    $('#someDiv').starRating({
        emptyStarSource : 'http://www.imageland.com/image.png',
        hoverStarSource : 'http://www.imageland.com/image.png',
        initialRating : 3
    });
    
    在如何更改选项等方面与Datepicker类似

    如果有人能给我指出正确的方向,那就太棒了

    编辑

    因此,在我得到的答案的帮助下,我尝试了一下。img点击事件不起作用,我猜在我将点击处理程序附加到页面之后,我必须以某种方式附加它们。怎样?之后,我只需要做设置


    要在jQuery中编写插件,请使用以下语法

    $.fn.setRed = function(){
      return $(this).each(function(){ //this is required for jQuery chaining to work and also if multiple html objects are passed
        var _obj = $(this);
        //work on the object here
        _obj.css("background-color", "red");
      });
    }
    
    然后您可以使用

    $(".ratings").setRed();
    

    要在jQuery中编写插件,请使用以下语法

    $.fn.setRed = function(){
      return $(this).each(function(){ //this is required for jQuery chaining to work and also if multiple html objects are passed
        var _obj = $(this);
        //work on the object here
        _obj.css("background-color", "red");
      });
    }
    
    然后您可以使用

    $(".ratings").setRed();
    

    如果更改了代码,则可以在项目中复制和粘贴代码。它会将指定选择器的所有背景设置为redI。我正在努力理解如何使用我在小提琴中创建的所有其他函数,以及您所放置的内容?比如如何使用鼠标悬停函数等等。我看到了你的代码。在你的插件中,你不应该使用像“评级”这样的绝对选择器。将它们转换为$(this)对象的相对选择器。这就是我将$(This)存储为_obj的原因之一,这是一个closure。如果更改了代码,您可以将代码复制并粘贴到项目中。它会将指定选择器的所有背景设置为redI。我正在努力理解如何使用我在小提琴中创建的所有其他函数,以及您所放置的内容?比如如何使用鼠标悬停函数等等。我看到了你的代码。在你的插件中,你不应该使用像“评级”这样的绝对选择器。将它们转换为$(this)对象的相对选择器。这就是我将$(This)存储为_obj的原因之一,这是一个闭包