我在jqGrid列中使用jQuery Expander插件。我想将切片点设置为动态地略小于非固定列宽。我可以轻松地获取整数列,但我无法弄清楚如何将其传递给Expander设置。
// get comment column width dyanmically
var commentswidth = document.getElementById('list_comments').style.width; // will return width in string (e.g. "550px")
var sliceplace = parseInt(commentswidth) - 40; // convert string to int and subtract offset
alert(sliceplace); // test to see that it is correct
// use jQuery Expander to shorted comment boxes
$('div.expandable span').expander(
{
slicePoint: sliceplace,
expandEffect: 'show',
expandText: ' ...',
expandPrefix: '',
userCollapseText: 'less'
}
); //end expander
sliceplace变量设置正确但Expander不起作用(因为我假设无法读取变量)。当我用扩展器替换Expander中的'sliceplace'时,它完全可以正常工作。
答案 0 :(得分:1)
我很蠢。扩展器使用的是字符数,因此宽度需要转换为球场数字。我选择宽度为8px作为平均字符宽度,它的工作原理。
// get comment column width dyanmically
var commentswidth = document.getElementById('list_comments').style.width; // will return width in string (e.g. "550px")
alert(commentswidth);
var sliceplace = parseInt(commentswidth)/8; // convert string to int divide by an average character width to get number of characters to slice at
sliceplace = parseInt(sliceplace);
alert(sliceplace);
// use jQuery Expander to shorten comment boxes
$('div.expandable span').expander(
{
slicePoint: sliceplace,
expandEffect: 'show',
expandText: ' ...',
expandPrefix: '',
userCollapseText: 'less'
}
); //end expander
答案 1 :(得分:0)
使用Jquery数据方法代替。