考虑以下代码:
class C1
{ public:
C1(){ cout<<"CONSTR WAS HERE"<<endl; }
C1(const C1&ob){ cout<<"COPY CONSTR WAS HERE"<<endl; }
~C1(){ cout<<"DESTR WAS HERE"<<endl; }
}
void f1(C1 x){ }
int main()
{
C1 c1;
f1(c1);
}
Run Code Online (Sandbox Code Playgroud)
如果我们按原样运行代码,我们得到:
CONSTR WAS HERE
COPY CONSTR WAS HERE
DESTR WAS HERE
DESTR WAS HERE
Run Code Online (Sandbox Code Playgroud)
从我的观点来看,这是完全可以理解的.但是,如果我们将函数"f1"修改为:
C1 f1(C1 x){}
代替
void f1(C1 x){}
我们得到:
CONSTR WAS HERE
COPY CONSTR WAS HERE
DESTR WAS HERE
DESTR WAS HERE
DESTR WAS HERE
Run Code Online (Sandbox Code Playgroud)
我不太清楚为什么
我有以下聊天:
<div class="container">
<div class="jumbotron" id="chat" >
</div>
<form (submit)="sendUserQueryToServer()">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="search" autocomplete="off" [(ngModel)]="userQuery">
<div class="input-group-btn">
<button class="btn btn-info"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
使用以下 css:
#chat{
background: lightgray;
max-height: 60vh;
height:60vh;
overflow: auto;
font-size: 1.5em;
}
Run Code Online (Sandbox Code Playgroud)
和脚本:
sendUserQueryToServer() {
$("#chat").append(this.userQuery + "<br \>" );
}
Run Code Online (Sandbox Code Playgroud)
上面的代码被简化了,只留下了相关的部分。
这是相同的代码,“转换”为纯 js:https://jsfiddle.net/wcukrLfk/8/,基本上做同样的事情,你所要做的就是按下小按钮(你需要按下它大约20 次查看行为)。
如您所见,聊天是可滚动的,但是当 max-height 溢出时,它不会自动滚动到页面底部,它只会显示滚动条。如何让聊天自动滚动到页面底部?