27th
MAY
js控制下拉框里超过文字变成省略号
Posted by 可乐 under 网页设计
我们先建个测试页面,看看加长效果是如何的
效果图:
- < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb1231" />
- <title>测试</title>
- </head>
- <body>
- <select id="a">
- <option>下拉框里的字太多了,下拉框会变长,然后把版面挤乱了,多余的如何显示成省略号?</option>
- <option>或者限制住下拉框的跨度也行?</option>
- <option>style="width:100px;"</option>
- <option>这种已经试过了,没用!</option>
- </select>
- </body>
- </html>
这么长肯定会影响到布局的,那么改怎么办呢?
这样?
- <option style="width:100px;">下拉框里的字太多了,下拉框会变长,然后把版面挤乱了,多余的如何显示成省略号?</option>
没用……
好吧,把下面这段代码放进去看看效果~
- <script type="text/javascript">
- function cutOption(selectObj , length) {
- this.selectObj = selectObj;
- this.length = length;
- }
- cutOption.prototype.init = function() {
- this.options = this.selectObj.getElementsByTagName('option');
- for(i=0 , j=this.options.length ; i<j ; i++ )
- {
- text = this.options[i].firstChild.nodeValue;
- if(text.length<=this.length)
- {
- return;
- }
- else {
- this.options[i].innerHTML = text.substring(0,this.length) + '...';
- }
- }
- }
- obj = document.getElementById('a');
- //想要几个字就改第二个参数;
- var optionClass = new cutOption(obj , 5);
- optionClass.init();
- </script>
- </j></script>
不错吧?
你可能对这个有点兴趣:
我也要评论
相关信息
-
05月 27, 2008 -
网页设计 -
No Comments
-
Comments Feed