【发布时间】:2016-07-29 12:58:00
【问题描述】:
提前感谢您的帮助。
此项目是一个注册表单,将使用聊天系统在用户入职过程中收集用户的个人资料详细信息。这是我的第一个 jQuery 项目,所以我很难发现我的错误。
我的 jQuery 应该将 textarea 中的值附加到 #message-feed div 并应用 .message、.bubble的 CSS 类> 和 .user 到它创建的新元素。
但是,当我在文本区域中输入并单击提交时,它会闪烁我刚刚输入的值,而消息源中没有任何样式,但它会立即消失。
这种 CSS 结构的原因是 .bot 和 .user 类之间的可互换性,这取决于它是网站向用户提出的问题,还是用户对问题的回答。
这是JSFiddle 的链接,但它的加载方式与我的本地机器上的加载方式截然不同(JSFiddle 显示错误。
HTML
<div id="container">
<div id="message-feed">
<h1>Let's get to know you a little bit more…</h1>
</div>
<form method="POST">
<div id="text-response">
<textarea id="text-response" placeholder="Type in here…"></textarea>
</div>
<input type="submit" class="submit-response">
</form>
</div>
CSS
#container {
width: 320px;
height: 480px;
background-color: #fff;
position:absolute;
left:50%;
top:50%;
margin:-240px 0 0 -160px;
}
#message-feed {
width: 100%;
height: 100%;
margin: auto;
overflow-y: scroll;
}
.message {
padding: 0px 15px 15px 15px;
width: 90%;
}
.message:after {
content:"";
display: block;
clear: both;
}
.bubble {
border: 0.5px solid #005393;
max-width: 80%;
padding: 10px;
}
.bot {
color: #005393;
float: left;
border-radius: 12px 12px 12px 0px;
}
.user {
float: right;
background-color: #005393;
border-radius: 12px 12px 0px 12px;
color: #fff;
}
#text-response {
height: 23px;
width: 220px;
border-top: 1px solid #eee;
background-color: #fff;
float: left;
}
textarea {
height: 20px;
width: 220px;
float: left;
resize: none;
border: none;
padding: 10px;
line-height: 22px;
font-family: 'Roboto', sans-serif;
font-weight: 200;
letter-spacing: 1px;
font-size: 15px;
outline: none;
overflow: auto;
}
.submit-response {
height: 45px;
width: 80px;
background-color: #005393;
color: #fff;
float: right;
text-align: center;
line-height: 42px;
font-family: 'Roboto', sans-serif;
font-weight: 200;
letter-spacing: 1px;
font-size: 15px;
outline: none;
border: 0;
}
.submit-response:hover {
opacity: 0.5;
}
jQuery
$(document).ready(function() {
$('.submit-response').click(function() {
var $newMessage = $('textarea[name=text-response]').val()
$('#message-feed').append($newMessage, 'message', 'bubble', 'user');
});
});
【问题讨论】:
-
你没有说你有什么问题。问题是位于 HTML 中并没有像您希望的那样发生变化,还是页面在您提交时发生了变化?还是两者兼而有之?
-
您忘记了描述问题的部分。你到底在问我们什么?
-
对不起,刚刚修改了帖子以包含问题
标签: javascript jquery html css chat