Minjs 极简轻量级纯 JavaScript 组件库

Minjs 是一组轻量级的 jQuery 组件,提供多种 Web 常用组件,包括表单、表格、日历等,其中迷你表单帮助你使用 HTML5 表单增强,尽管浏览器不一定支持也可以使用。

Minjs 极简轻量级纯 JavaScript 组件库

特点

极小

别挡着你的路。它并不规定如何设计UI。它试图对它正在运行的 HTML 或 CSS 的布局不作任何假设。

模块化

minjs 不是一个框架。它是一个独立组件的集合。只使用你需要的。每个组件也不依赖于任何框架或库:它们都是纯JS。

测试

每个 Minjs 组件都是为 词汇。他们已经在那里(和其他地方)跑了好几年了。

Minform

HTML 5 表单增强

minform允许您使用一些HTML 5表单增强,即使浏览器不支持它们。

<form id="minform-ex" method="GET" action="">

<input name="placeholder" placeholder="Placeheld Text">

<input name="autofocus" autofocus>

<input name="required" required>

<input type="submit">

</form>

<script type="text/javascript">

minform(document.getElementById('minform-ex'));

</script>

Download 485 bytes min+gz

Source on GitHub

longtable

Long table 接受现有的 HTML 表并将其转换为分页的表。不需要担心 Ajax 等等。造型是由你决定的。

<table id="jsversions">

<thead>

<tr><th>JavaScript Version</th><th>Release Date</th></tr>

</thead>

<tbody>

<tr><td>1.0</td><td>March 1996</td></tr>

<tr><td>1.1</td><td>August 1996</td></tr>

<tr><td>1.2</td><td>June 1997</td></tr>

<tr><td>1.3</td><td>October 1998</td></tr>

<tr><td>1.4</td><td>?</td></tr>

<tr><td>1.5</td><td>November 2000</td></tr>

<tr><td>1.6</td><td>November 2005</td></tr>

<tr><td>1.7</td><td>October 2006</td></tr>

<tr><td>1.8</td><td>June 2008</td></tr>

<tr><td>1.8.1</td><td>?</td></tr>

<tr><td>1.8.2</td><td>June 22, 2009</td></tr>

<tr><td>1.8.5</td><td>July 27, 2010</td></tr>

</tbody>

</table>

<script type="text/javascript">

longtable(document.getElementById('jsversions'), {'perPage': 5});

</script>

<style type="text/css">

.paging-controls {text-align: center;}

.paging-controls a {color: green;}

.paging-controls a:visited {color: #0069D6;}

.paging-controls .prev {float: left;}

.paging-controls .prev:before {content: "< prev";}

.paging-controls .next {float: right;}

.paging-controls .next:after {content: "next >";}

.paging-controls .elipsis:before {content: " ... ";}

</style>

Download 975 bytes min+gz

Source on GitHub

日历

一个简单的日历建设者

找不到像你想要的样子和行为的日历吗?drcal提供了一个最小的日历生成器。它处理日期计算和其他一些基本任务,并将行为和样式留给您。

<div id="drcal1"></div>

<script type="text/javascript">

var cal = drcal();

cal.addEventListener('drcal.renderDay', function (event) {

event.detail.element.appendChild(document.createTextNode(event.detail.date.getDate()));

});

cal.changeMonth(new Date());

document.getElementById('drcal1').appendChild(cal);

</script>

Download 1126 bytes min+gz

Source on GitHub

更好的例子

Minjs 极简轻量级纯 JavaScript 组件库

<div id="drcal2"></div>

<script type="text/javascript">

var cal = drcal();

cal.addEventListener('drcal.renderDay', function (event) {

var dayNum = document.createElement('div');

dayNum.className = 'daynum';

dayNum.appendChild(document.createTextNode(event.detail.date.getDate()));

var div = document.createElement('div');

div.appendChild(dayNum);

event.detail.element.appendChild(div);

});

cal.changeMonth(new Date());

selected = null;

cal.addEventListener('click', function (event) {

if (event.target.tagName === 'DIV') {

event.preventDefault();

if (selected) selected.className = '';

selected = event.target;

selected.className = 'selected';

}

});

// Twitter Bootstap removes default styling

var buttons = cal.querySelectorAll('button');

for (var i = 0; i < buttons.length; i++) {

buttons[i].className += ' btn';

}

document.getElementById('drcal2').appendChild(cal);

</script>

<style type="text/css">

#drcal2 .calendar {border-collapse: collapse;}

#drcal2 .calendar th {text-align: center;}

#drcal2 .calendar td {

border: 1px solid #AEAEAE;

width: 6em;

height: 5em;

padding: 0;

}

#drcal2 .calendar td > div {

width: 100%;

height: 100%;

position: relative;

cursor: pointer;

}

#drcal2 .calendar thead tr:first-child th {

font-size: large;

padding-bottom: 0.5em;

}

#drcal2 .calendar thead tr:last-child th {

font-weight: normal;

font-size: small;

color: #939393;

}

#drcal2 .calendar .prev {float: left;}

#drcal2 .calendar .prev:before {content: "<";}

#drcal2 .calendar .next {float: right;}

#drcal2 .calendar .next:after {content: ">";}

#drcal2 .calendar .today, .calendar .today.selected { background-color: #E9EFF8;}

#drcal2 .calendar .selected {background-color: #F3F3F3;}

#drcal2 .calendar .extra {color: #AEAEAE;}

#drcal2 .calendar .daynum {

position: absolute;

top: 0.5ex;

right: 0.5ex;

}

</style>

文件大小的计算方法是首先将源缩小为 uglifyjs –mangle –screw-ie8 然后拉链。这是在使用小型化版本时可以期望从服务器传输到浏览器的数据量。

相关链接

官网:http://www.minjs.com

以上是 Minjs 极简轻量级纯 JavaScript 组件库 的全部内容, 来源链接: utcz.com/p/232418.html

回到顶部