javascript - Un autre problème avec ce pointage
给我你的怀抱
给我你的怀抱 2017-06-30 09:58:07
0
4
845

Il s'agit d'un plug-in de notation par étoiles, écrit en js natif. Lorsque la section for(var k = 0)... est extraite, puis exécutée dans la sectionthat.getStarPoint.call(this,point,active), cela ne fonctionnera pas. Cela pointe vers star[i], comment créer star[i] et star[k]. avoir le même Quel est le rôle ?

html : (Les étoiles sont temporairement remplacées par des blocs de couleurs)

    星星评分插件   

js :

;(function(global,undefined){ 'use strict' var _global; function Star(options){ this.defaultOptions = { starBox: '.star', //装星星的obj starActive: 'active', //鼠标移上去的样式 starPoint: '.star-point' //星星评分 }; this.opt = this.extend(this.defaultOptions, options || {} || ''); this.star = this.getElem(this.opt.starBox).getElementsByTagName('span'); this.len = this.star.length; this.init(options); } Star.prototype = { constructor: this, init: function(options){ var that = this; var starBox = that.getElem(that.opt.starBox), starPoint = that.getElem(that.opt.starPoint), active = that.opt.starActive, star = starBox.getElementsByTagName('span'), point = 0; for(var i = 0; i
给我你的怀抱
给我你的怀抱

répondre à tous (4)
女神的闺蜜爱上我

J'ai l'impression que lier cela à getStarPoint() n'a pas beaucoup de sens, car en plus de l'élément actuel, tous les éléments précédents doivent être définis sur actif. Il est préférable de faire une boucle, puisstar[k].className = active;

.
    为情所困

    Je pense que vous devriez considérerthat作为getStarPoint的上下文,写作that.getStarPoint.call(that, point, active);,此处thatcomme l'instance Star.

      阿神

      Passez le tableau str. getStarPoint est une opération de boucle pure et n'a aucune exigence quant à ce que c'est.

        学霸

        Je ne comprends pas très bien ce que tu veux dire par « star[i] et star[k] ont le même effet ». Si onmouseover sait de quelle étoile il s'agit, il peut utiliser la fermeture pour passer i :

        for(var i = 0; i

        star[i].index = i; star[i].onmouseover = (function(i) { return function(){ that.clearAllStar.call(this); /*for(var k = 0; k

        }

          Derniers téléchargements
          Plus>
          effets Web
          Code source du site Web
          Matériel du site Web
          Modèle frontal
          À propos de nous Clause de non-responsabilité Sitemap
          Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!