写真のような出力をレンダリングしようとしています
現在、すべての数値を配列に渡そうとしています。次に、灰色のバーの長さをそれらの値の最大値に設定します。これはこれまでのところですが、値を渡していません。
var contentValues = $('facet-amount').text();
var arr = parseInt(contentValues);
$(".facet-percentage").width(Math.max(...arr));
.facet {
position: relative;
border: 1px solid #dcdcdc;
margin-top: 13px;
}
.facet-title {
display: inline-block;
}
.facet-amount {
display: inline-block;
position: absolute;
right: 2px;
}
.facet-percentage {
background-image: -webkit-linear-gradient(top, #f8f8f8, #e5e5e5);
display: inline-block;
height: 10%;
position: absolute;
z-index: -1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content-type-facet" class="facet">
<div class="facet-header">
<h3>Content Type</h3>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Chapter</span>
<span class="facet-amount">400</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Article</span>
<span class="facet-amount">200</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Reference Work Entry</span>
<span class="facet-amount" id='ciao'>207</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Protocol</span>
<span class="facet-amount">16</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Book</span>
<span class="facet-amount">2</span>
</div>
</div>
まず、あなたはのセレクタのドット欠けているfacet-amount
ではvar contentValues = $('facet-amount').text();
それがあるべきvar contentValues = $('.facet-amount').text();
。
次に、$('.facet-amount').text();
は配列を返しません。代わりにtext
、そのセレクターに一致する最初の要素(この場合は400)を返します。$.each
例として使用する必要のあるすべての値を選択し、配列を入力した後、max
関数を使用できます。
例として、以下を参照してください。
var arr = [];
$.each($('.facet-amount'), function(index, value) {
arr[index] = parseInt($(value).text());
});
var max = Math.max(...arr);
console.log(max);
$(".facet-percentage").width(max);
.facet {
position: relative;
border: 1px solid #dcdcdc;
margin-top: 13px;
}
.facet-title {
display: inline-block;
}
.facet-amount {
display: inline-block;
position: absolute;
right: 2px;
}
.facet-percentage {
background-image: -webkit-linear-gradient(top, #f8f8f8, #e5e5e5);
display: inline-block;
height: 10%;
position: absolute;
z-index: -1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content-type-facet" class="facet">
<div class="facet-header">
<h3>Content Type</h3>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Chapter</span>
<span class="facet-amount">400</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Article</span>
<span class="facet-amount">200</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Reference Work Entry</span>
<span class="facet-amount" id='ciao'>207</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Protocol</span>
<span class="facet-amount">16</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Book</span>
<span class="facet-amount">2</span>
</div>
</div>
しかし、あなたのイメージを見ると、あなたの意図はfacets
、すべての最大値ではなく、それぞれの値をその値に設定することだと思います。これを提案として見てください。
$('.facet-amount').each(function(index, element) {
var $el = $(element);
$el.siblings(".facet-percentage").width(parseInt($el.text()));
});
.facet {
position: relative;
border: 1px solid #dcdcdc;
margin-top: 13px;
}
.facet-title {
display: inline-block;
}
.facet-amount {
display: inline-block;
position: absolute;
right: 2px;
}
.facet-percentage {
background-image: -webkit-linear-gradient(top, #f8f8f8, #e5e5e5);
display: inline-block;
height: 10%;
position: absolute;
z-index: -1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content-type-facet" class="facet">
<div class="facet-header">
<h3>Content Type</h3>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Chapter</span>
<span class="facet-amount">400</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Article</span>
<span class="facet-amount">200</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Reference Work Entry</span>
<span class="facet-amount" id='ciao'>207</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Protocol</span>
<span class="facet-amount">16</span>
</div>
<div>
<span class="facet-percentage" style=""></span>
<span class="facet-title">Book</span>
<span class="facet-amount">2</span>
</div>
</div>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加