我获得了正确的 substr() 方法值,但无法获得原始值。请告诉我如何获取原始值。
例如)“AAAAAA”-> AA...但我不能不支持 AA...-> AAAAAA。
这是我的示例代码。
if ($(window).scrollTop() > 100) {
var name= $('#aaa').text();
var ellipses = name.substr(0, 9) + '...';
document.getElementById('aaa').innerHTML = ellipses;
} else {
//scrollTop() < 99 //I would like back the original value.
}
最佳答案
为什么你期望删除后仍保留原始值?一旦覆盖元素的文本内容,它就会永远消失。
您需要首先将原始值保存在某处,这是一个想法:
$('#aaa').data('origValue', $('#aaa').text());
if ($(window).scrollTop() > 100) {
var name = $('#aaa').text();
var ellipses = name.substr(0, 9) + '...';
document.getElementById('aaa').innerHTML = ellipses;
} else {
//scrollTop() < 99 //I would like back the default value.
$('#aaa').text($('#aaa').data('origValue'));
}
此示例使用 HTML5 data-* 属性来存储原始文本,然后在向后滚动时读取它。正如我所说,这只是一个想法,还有很多其他方法可以将该文本存储在某个地方,但是您必须存储它。
<小时/>以下是您可能想要实现的目标的示例:
$('#aaa').data('origValue', $('#aaa').text());
$(window).scroll(function(){
if ($(window).scrollTop() > 100) {
var name = $('#aaa').text();
var ellipses = name.substr(0, 9) + '...';
document.getElementById('aaa').innerHTML = ellipses;
} else {
//scrollTop() < 99 //I would like back the default value.
$('#aaa').text($('#aaa').data('origValue'));
}
});
div {padding: 120px 0; min-height: 300px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="aaa">Some super-mega-long text here! Try scrolling...</div>
关于javascript - 如何将 substr 值恢复为原始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652778/