甚至在

时间:2016-11-27 05:57:29

标签: javascript

道歉,如果这是一个愚蠢的问题 - 并且看到问题本质上是数学问题而不是编码问题,我不确定它在这里是多么合适,但我想我会问。

我的问题如下:

页面顶部是一个滑块,根据滑块的位置输出0到100之间的值。

在此之下,我有一段文字,其中包含x个代词(每个包含在<span class='pronoun'>标签中),我想用该人的名字替换。换句话说,我试图替换每个第n个代词,n的值取决于滑块的位置。

例如:(如果我的段落有16个代词)

  • (Slider = 0) - 没有替代代词。
  • (slider = 25) - 替换4个代词,或多或少均匀分布。
  • (slider = 50) - 替换了8个代词,或多或少均匀分布。
  • (slider = 75) - 12个代词被替换,或多或少均匀分布。
  • (滑块= 100) - 替换了16个代词。

代数的奇数,或者滑块上其他位置的位置可能会有点棘手,但是舍入到最接近的整数应该足够准确,以达到我想要实现的目的。

我目前的尝试让我想到了这个:

    $('#pronouns').on('input', function() {
    var slider = $(this).val();
    $('#commentContainer').find('.sortable').each(function(index) {
        var innerDivId = $(this).attr('id');
        var name = atob($(this).data('all').name);
        var comment = $(this).find('p');
        var count = comment.children('.pronoun').length;
        var i = 0;
        var child = 0;
        var children = [];
        while (i <= count) {
            n = parseInt(count/((count/100)*slider));
            child = (n * i) + 1;
            children.push(child);
            comment.children('.pronoun:nth-child(' + child + ')').html(name);
            i++;
        }
        console.log("slider is " + slider + ", pronouns : " + count + ", i is: " + i + ", n is: " + n + ", children are: " + children.toString());
    });
});

然而,正如我所说的那样,我的滑块具有相反的效果 - 随着滑块向右移动,分布变得越来越大,而不是越小。

任何建议或指示将不胜感激。可能还有一个我没有想到的替代解决方案,我同样愿意接受这方面的建议。

0 个答案:

没有答案