Jquery 模糊整个<;李>;除了最后一句话

Jquery 模糊整个<;李>;除了最后一句话,jquery,css,node.js,socket.io,dust.js,Jquery,Css,Node.js,Socket.io,Dust.js,我有一个socket.IO应用程序,它还将数据保存到MongoDB 我试图找到一种方法,模糊整个句子,除了最后一个词 行所在位置的代码: {#storylines} <li>{text}</li> {/storylines} <input id="newstoryline" name="newstoryline" class="StoryBoard" type="text" placeholder="" onKeyDown="countChars()" onKey

我有一个socket.IO应用程序,它还将数据保存到MongoDB

我试图找到一种方法,模糊整个句子,除了最后一个词

行所在位置的代码:

{#storylines}
<li>{text}</li>
{/storylines}

<input id="newstoryline" name="newstoryline" class="StoryBoard" type="text" placeholder="" onKeyDown="countChars()" onKeyUp="countChars()"/>
Socket.IO(服务器端):


我同意lix的观点。用span标记将要模糊的部分换行,并用css将样式应用于该标记

socket.on('updatechat', function (username, data) {
    var dataSplit= data.split(' ');
    var lastWord =   dataSplit.pop();
    var toBlur=  '<span class="blur">' + dataSplit.join(' ') +  '</span>'; 

     $('#newstoryline').before('<li>' + toBlur + lastWord + '</li>');
});

您必须使用自己的HTML元素(例如
)来包装每一行或每一个单词。然后对除最后一个外的所有eMenet产生影响。但是它从服务器接收的数据是一个长字符串,难道没有办法让javascript计算出字符串的长度,然后减去最后一个空格,然后从0-->x模糊吗?或者类似的东西?你可以使用JavaScript的功能来分隔单词…在拆分文本后,我可以用JS/CSS来模糊文本吗?是的,有-但我不确定跨浏览器支持。。您可以搜索CSS3过滤器。我已经尝试了上面的代码,但它似乎没有更新。当我在控制台上键入“testmessage”时,我得到:
uncaughttypeerror:objecttestmessage没有方法“join”
看起来它不喜欢
data。join(“”)
通过稍微将其修改为
socket.on('updatechat',function(username,data){var dataSplit data.split(“”)来实现这一点;var toBlur=''+dataSplit.pop()但是,如果我发送消息“这是一条测试消息”,它是单词消息,而不是单词这是一个测试不确定这是否是最好的方法,但我修改了以下代码:
socket.on('updatechat',function(username,data){var dataSplit=data.split(“”);var toBlur=dataSplit.pop()$(“#newstoryline”)。在(“
  • ”+”+dataSplit.join(“+”+“+”+”+toBlur+”
  • );})之前;
    似乎起了作用。我更正了我答案中的错误,它的dataSplit.join()不是data.join()。我还错误地认为你只想模糊最后一个词。你的修订看起来是正确的。谢谢,效果很好!我会投票给答案,但上面说我需要15次或更多
    app.get('/s/:id', function(req, res){
        Story.findOne({ sid: req.params.id }, function(err, story){
                if (err) {
                res.redirect('/')
            }
            else if(story == null) {
                res.redirect('/')
            }
            else{
        res.render('story', {
            title: 'Storifi',
            storytitle: story.title,
            storylines: story.lines,
            lines: story.maxlines,
            storyid: story.sid
                maxlines: story.maxlines   
    
                    });
                }
            });
    });
    
    socket.on('sendchat', function (data) {
        // we tell the client to execute 'updatechat' with 2 parameters
        io.sockets.in(socket.room).emit('updatechat', socket.username, data);   
    
    socket.on('updatechat', function (username, data) {
        var dataSplit= data.split(' ');
        var lastWord =   dataSplit.pop();
        var toBlur=  '<span class="blur">' + dataSplit.join(' ') +  '</span>'; 
    
         $('#newstoryline').before('<li>' + toBlur + lastWord + '</li>');
    });
    
    .blur{
       color: transparent;  
       text-shadow: 0 0 5px #000;  
    }