Javascript 函数在跨度内动态缩短文本
我有一个这样的跨度Javascript 函数在跨度内动态缩短文本,javascript,html,css,Javascript,Html,Css,我有一个这样的跨度 css: .menu {border:1px solid #000; width:200px; display:block; padding:3px;} html: <span class="menu">This is an example text</span> <span class="menu">Another text example</span> css: .菜单{边框:1px实心#000;宽度:200px;显示:
css:
.menu {border:1px solid #000; width:200px; display:block; padding:3px;}
html:
<span class="menu">This is an example text</span>
<span class="menu">Another text example</span>
css:
.菜单{边框:1px实心#000;宽度:200px;显示:块;填充:3px;}
html:
这是一个示例文本
另一个文本示例
它打印了这个
我已经将“跨度宽度”设置为200px,因为文本比200px长,所以跨度的大小调整为200px以上
我需要一个javascript或jQuery函数,这样它就可以打印类似这样的内容。它还将在文本末尾添加“…”
css样式也是可以接受的…我认为css属性就是您想要的。不过,浏览器支持并不可怕。但是在不支持的情况下,可能只剪切没有省略号的文本就可以了?如果您不需要使用省略号(…),跨浏览器纯CSS方法是:
overflow
CSS属性设置为hidden
试试这个,伙计
无标题
.隐藏{
显示:无;
}
span.菜单{边框:1px实心#000;宽度:200px;显示:块;填充:3px;}
$(函数(){
var$element=$('span');//要隐藏文本的一个或多个元素
var$limit=26;//要显示的字符数
var$str=$element.html();//获取文本
var$strtemp=$str.substr(0,$limit);//获取字符串的可见部分
$str=$strtemp+'…'+$str.substr($limit,$str.length)+';//重新组合字符串,使span标记缠绕在其隐藏部分
$element.html($str);//将字符串写入DOM
})
Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum Loren Ipsum
您也可以使用任何服务器端语言来完成。只是指出而已。
<title>untitled</title>
<style type="text/css" media="screen">
.hide{
display: none;
}
span.menu{border:1px solid #000; width:200px; display:block; padding:3px;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(function(){
var $element = $('span'); // The element or elements with the text to hide
var $limit = 26; // The number of characters to show
var $str = $element.html(); // Getting the text
var $strtemp = $str.substr(0,$limit); // Get the visible part of the string
$str = $strtemp + ' ...<span class="hide">' + $str.substr($limit,$str.length) + '</span>'; // Recompose the string with the span tag wrapped around the hidden part of it
$element.html($str); // Write the string to the DOM
})
</script>