admin/view/javascript/d_bootstrap_rating/bootstrap-rating.js
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
(function ($, undefined) {
'use strict';
var OFFSET = 5;
function Rating(element, options) {
this.$input = $(element);
this.$rating = $('<span></span>').css({
cursor: 'default'
}).insertBefore(this.$input);
// Merge data and parameter options.
// Those provided as parameter prevail over the data ones.
this.options = (function (opts) {
// Sanitize start, stop, step, and fractions.
// All of them start, stop, and step must be integers.
opts.start = parseInt(opts.start, 10);
opts.start = isNaN(opts.start) ? undefined : opts.start;
// In case we don't have a valid stop rate try to get a reasonable
// one based on the existence of a valid start rate.
opts.stop = parseInt(opts.stop, 10);
opts.stop = isNaN(opts.stop) ?
opts.start + OFFSET || undefined : opts.stop;
// 0 step is ignored.
opts.step = parseInt(opts.step, 10) || undefined;
// Symbol fractions and scale (number of significant digits).
// 0 is ignored and negative numbers are turned to positive.
opts.fractions = Math.abs(parseInt(opts.fractions, 10)) || undefined;
opts.scale = Math.abs(parseInt(opts.scale, 10)) || undefined;
// Extend/Override the default options with those provided either as
// data attributes or function parameters.
opts = $.extend({}, $.fn.rating.defaults, opts);
// Inherit default filled if none is defined for the selected symbol.
opts.filledSelected = opts.filledSelected || opts.filled;
return opts;
}($.extend({}, this.$input.data(), options)));
this._init();
};
Rating.prototype = {
_init: function () {
var rating = this,
$input = this.$input,
$rating = this.$rating;
var ifEnabled = function (f) {
return function (e) {
// According to the W3C attribute readonly is not allowed on input
// elements with type hidden.
// Keep readonly prop for legacy but its use should be deprecated.
if (!$input.prop('disabled') && !$input.prop('readonly') &&
$input.data('readonly') === undefined) {
f.call(this, e);
}
}
};
// Build the rating control.
for (var i = 1; i <= this._rateToIndex(this.options.stop); i++) {
后面还有 187 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
