根据jQuery的窗口大小更改.text()

时间:2014-04-14 09:05:15

标签: jquery responsive-design resize

我有一个简单的函数可以找到并显示每个段落的第一句话:

function firstSentence(){
  $('p').each(function(){
      var p = $(this).text();
      var s = p.split('.');
      var f = s[0];
      $(this).text(f + '...');
     });
}

我在窗口大小小于600时使用它:

$(window).resize(function(){
    if ($(window).width() < 600) {
    firstSentence();
     } else {
        // back to normal please!
    }
});

但是,当用户将其窗口大小调整到600以上时,内容显然不会改变。

如果用户调整到更大的窗口(> 600),恢复内容的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

在执行任何其他操作之前,您需要将原始文本存储在每个段落中。例如。像这样:

var originalTexts = $('p').map(function () {
    return $(this).text();
});

然后,为您的“恢复正常代码”:

$('p').each(function (key) {
    $(this).text(originalTexts[key]);
});

答案 1 :(得分:0)

我不确定这是否完美,但它会给你一个想法

function origSentence(){
$('p').each(function(){
var o = $(this).text()}}

然后

} else {
prigSentence()

在(doc).rdy上再次忘记这一点。