我正在使用带有动画的jquery创建垂直自动滚动div ...我已经完成了它的创建,但是唯一的问题是当我将窗口向下滚动到div滚动的列表div的中间时,它将窗口向上滚动列表分区 我不知道问题是什么。但是,当我尝试以像素为单位指定列表div宽度时,它并没有增加...
尝试向下滚动到滚动列表div的中间。您将了解问题所在。谢谢...
setInterval(function(){
$('#list').stop().animate({scrollTop:40}, 400, 'swing', function(){
$(this).scrollTop(0).find('div:last').after($('div:first', this));
});
}, 1000);Run Code Online (Sandbox Code Playgroud)
* {
box-sizing: border-box;
}
body {
height: 1000px;
}
#list {
overflow: hidden;
width: 100%;
height: 250px;
background: red;
padding: 10px;
margin-top: 100px;
}
#list div {
display: block;
height: 30px;
padding: 10px 10px;
margin-bottom: 10px;
background: yellow;
}
.item:last-child {
margin-bottom: 0px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="list">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
<div>Item 4</div>
<div>Item 5</div>
<div>Item 6</div>
<div>Item 7</div>
<div>Item 8</div>
<div>Item …Run Code Online (Sandbox Code Playgroud)我是 reactJs 的新手,我正在创建用户身份验证功能。我有两个组件,一个是具有导航栏的标题,它包含反应路由器路由器,另一个是具有两个输入字段的登录组件......登录组件的问题是当我开始在输入字段中输入时,它在每个字符后失去焦点输入我知道它正在重新渲染整个组件,但我不知道如何解决这个问题
头文件.js
changeName = (e) => {
this.setState({name : e.target.value})
}
changePass = (e) => {
this.setState({password:e.target.value})
}
login = () => {
var name = this.state.name;
var password = this.state.password
var mysession;
$.ajax({
url : 'http://localhost:4000/login',
type : "POST",
data : {username:name,password:password},
success : function(data){
if(data == true){
this.setState({sessionFlag:true})
$('#home')[0].click();
}
else {
this.setState({sessionFlag:false})
}
}.bind(this)
})
}
render(){
const {name,password} = this.state;
return (
<Router>
<div>
<Route path="/login" exact component={()=><Login
onClickHandle={this.login.bind(this)}
onChangeName={this.changeName.bind(this)}
onChangePass={this.changePass.bind(this)}
name={name}
password = …Run Code Online (Sandbox Code Playgroud) 我有一个身份验证系统,用户在其中登录,如果通过身份验证,则将用户重定向到主页......它工作正常,但唯一的问题是它给我一个警告,提示我无法更新我尝试过的未安装组件的状态互联网上与此问题相关的所有方法,但未能删除警告...
我已经设置了 isMounted 的标志并将其设置为 true 在 componentDidMount 但没有帮助..我也尝试在 componentWillUnMount 中清除Interval和 Timeout 但仍然失败......
login = () => {
var mythis = this;
var name = this.state.name;
var password = this.state.password
this.setState({isLoading:true,show:true});
this.interval = setInterval(function(){
mythis.setState({show:true})
},300);
$.ajax({
url : 'http://localhost:4000/login',
type : "POST",
data : {username:name,password:password},
success : function(data){
mythis.firstTimeout = setTimeout(function(){
clearInterval(mythis.interval);
if(data == true){
mythis.setState({show:false});
mythis.secondTimeout=setTimeout(function(){
mythis.setState({isLoading:false});
},200)
}
else {
mythis.setState({show:false});
mythis.secondTimeout=setTimeout(function(){
mythis.setState({isLoading:false})
},200)
}
},2000)
}.bind(this)
})
}
componentWillUnMount(){
//this._isMounted = false;
clearInterval(this.interval);
clearTimeout(this.firstTimeout);
clearTimeout(this.secondTimeout);
}
render(){ …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 php 和 mysql 中实现过滤器来搜索数据库中的记录......过滤器应该像如果在 6 个过滤器中只有两个被选中查询将对这两个执行“AND”操作并从数据库中获取数据,如果三个然后它将对这三个过滤器执行“AND”操作......实现的一种方法是检查每个过滤器。
if(isset($_GET['name'] && isset($_GET['city'])) { perform AND for these two};
elseif(isset($_GET['name'] && (isset($_GET['age'])) {perform AND for these three}.
and so on ...
Run Code Online (Sandbox Code Playgroud)
但问题是,如果我有 6 个过滤器,那么我必须为它创建 64 个组合......我在想是否有任何替代解决方案存在?