基于jquery-resizable創(chuàng)建可調(diào)整大小的表(table)格
本文介紹如何使用jquery-resizable調(diào)整表格(table)列寬。
效果圖

示例介紹
鼠標(biāo)拖動(dòng)單元格邊框,可調(diào)整列寬。
創(chuàng)建可調(diào)整大小的列需要付出一些額外的努力,因?yàn)楸頉](méi)有一種簡(jiǎn)單的方法來(lái)創(chuàng)建可以移動(dòng)的拖動(dòng)句柄。
為了調(diào)整列的大小,我們可以在列的右側(cè)添加一個(gè)元素來(lái)提供句柄,這樣我們就有了一個(gè)用于拖動(dòng)的視覺(jué)指示器。要調(diào)整大小的表格單元格為 position:relative,注入的元素為 position:absolute 并推到單元格右側(cè)以提供拖動(dòng)手柄。拖動(dòng)然后簡(jiǎn)單地調(diào)整單元格的大小。
在實(shí)踐中,這意味著你需要一些CSS(或jquery樣式)來(lái)強(qiáng)制注入樣式和邏輯來(lái)注入元素。
HTML
<table>
<thead>
<th> col 1 </th>
<th> col 2 </th>
<th> col 3 </th>
<th> col 4 </th>
</thead>
<tbody>
<tr>
<td> Column 1 </td>
<td> Column 2 </td>
<td> Column 3 </td>
<td> Column 4 </td>
</tr>
<tr>
<td> Column 1 </td>
<td> Column 2 </td>
<td> Column 3 </td>
<td> Column 4 </td>
</tr>
</tbody>
</table>html的table標(biāo)簽為常規(guī)結(jié)構(gòu),不需要添加額外的ID屬性或class屬性。
jQuery
jQuery編程需要先引用jQuery庫(kù)文件,以及jquery-resizable.js插件。
<script src='jquery-3.2.1.min.js'></script>
<script src='jquery-resizable.js'></script>
<script>
$("td:first-child,td:nth-child(2),td:nth-child(3),th:first-child,th:nth-child(2),th:nth-child(3)").css({position: "relative" }).prepend("<div class='resizer'></div>").resizable({
resizeHeight: false,
handleSelector: "",
onDragStart: function (e, $el, opt) {
if (!$(e.target).hasClass("resizer"))
return false;
return true;
} });
</script>上面的jQuery實(shí)現(xiàn)代碼,加上注釋文字,你可能更容易理解:
//$("td,th")
$("td:first-child,td:nth-child(2),td:nth-child(3),th:first-child,th:nth-child(2),th:nth-child(3)").
css({
/* 需要包含 resizer */
position: "relative" })
/* 檢查 .resizer CSS */.
prepend("<div class='resizer'></div>").
resizable({
resizeHeight: false,
// 通過(guò) .resizer 元素,使用列作為句柄和篩選器
handleSelector: "",
onDragStart: function (e, $el, opt) {
// 只拖拽 resizer
if (!$(e.target).hasClass("resizer"))
return false;
return true;
} });總結(jié)
本文介紹了使用jquery-resizable拖動(dòng)單元格邊框調(diào)整表格(table)列寬的方法,需要該效果的朋友可以直接下載源碼使用。
相關(guān)文章
Android中的jQuery:AQuery簡(jiǎn)介
jQuery的流行已經(jīng)成為了事實(shí),它極大地減少了執(zhí)行異步任務(wù)和操作DOM所需要的代碼數(shù)量。新項(xiàng)目AQuery想要為Android開(kāi)發(fā)者提供同樣的功能2014-05-05
jQuery獲取瀏覽器中的分辨率實(shí)現(xiàn)代碼
本篇文章小編為大家介紹,使用jQuery獲取瀏覽器中的分辨率的方法。需要的朋友參考下2013-04-04
分享jQuery的3種常見(jiàn)事件監(jiān)聽(tīng)方式
這篇文章主要介紹了jQuery常見(jiàn)事件的監(jiān)聽(tīng)方式,頁(yè)面經(jīng)常會(huì)有各種事件發(fā)生,事件發(fā)生后需要進(jìn)行一些特定處理,即執(zhí)行特定的函數(shù)或者語(yǔ)句。這就需要對(duì)事件進(jìn)行監(jiān)聽(tīng),下面關(guān)于監(jiān)聽(tīng)事件的介紹,需要的小伙伴可以參考一下2022-03-03
JQuery事件委托(適用于給動(dòng)態(tài)生成的腳本元素添加事件)
jq寫了點(diǎn)擊事件,是通過(guò)獲取元素的類名被點(diǎn)擊后執(zhí)行對(duì)應(yīng)方法,但是研發(fā)套完模板,他會(huì)把所有的結(jié)構(gòu)先清空,導(dǎo)致jq根本找不到那個(gè)元素,所以事件就不得執(zhí)行了,需要的朋友可以參考下2020-02-02
jquery對(duì)復(fù)選框(checkbox)的操作匯總
本文給大家匯總介紹了一些jQuery操作復(fù)選框(checkbox)的方法和技巧,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2016-01-01
jQuery實(shí)現(xiàn)的類flash菜單效果代碼
這里要說(shuō)的就是一個(gè)菜單的hover的效果,一般我們通過(guò)CSS的偽類:hover實(shí)現(xiàn)的菜單切換都比較單調(diào),因?yàn)閮H僅是一個(gè)簡(jiǎn)單的圖片的變化,不像很多flash菜單一樣變化非常的平滑,但是這里我們就是要用非flash的技術(shù)實(shí)現(xiàn)一個(gè)平滑的hover效果。2010-05-05
改善你的jQuery的25個(gè)步驟 千倍級(jí)效率提升
改善你的jQuery的25個(gè)步驟 -- 從頭看完會(huì)有無(wú)數(shù)收獲,千倍級(jí)效率提升2010-02-02
用Jquery重寫windows.alert方法實(shí)現(xiàn)思路
本文將介紹下用Jquery重寫windows.alert方法,已經(jīng)在 IE8 , firefox3.0.11下面測(cè)試通過(guò),喜歡的朋友可以放心使用2013-04-04

