首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直到第二次onclick,div的宽度才会被加载。

直到第二次onclick,div的宽度才会被加载。
EN

Stack Overflow用户
提问于 2017-09-20 07:12:08
回答 4查看 32关注 0票数 0

简而言之,我编写了一个伪代码,它将侧菜单滚动到50 to。此外,我还编写了一个条件,当宽度参数为50 an时,将显示一个警报。如果不是因为它只在第二个onclick上工作,那么一切都是好的。是否有可能在包装父div时动态加载该值,在父div滚动之后,宽度的值已经是50 Is,而不是直到onclick被下载?

代码语言:javascript
复制
$("#hide").on("click", function() {
		$("#options-menu").fadeOut("fast");
		$("#nav-left").animate({width: 50},500);
		slideMenu();
});
  
function slideMenu() {
		width = $("#nav-left").width();
		if (width == 50) {
			alert('it works');
		}
}
代码语言:javascript
复制
#nav-left {
height: 500px;
width: 200px;
background: #eaeaea;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="nav-left">
		<div id="nav-title">
			<button id="hide">HIDE</button>
		</div>
</div>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-09-20 07:16:35

您应该使用complete callbackanimate jquery函数。更多的细节可以在这里找到。http://api.jquery.com/animate/

代码语言:javascript
复制
$("#hide").on("click", function() {
	$("#options-menu").fadeOut("fast");
	$("#nav-left").animate({width: 50},500, null, function(){
            slideMenu();
        });     		
});
  
function slideMenu() {
	width = $("#nav-left").width();
	if (width == 50) {
	    alert('it works');
	}
}
代码语言:javascript
复制
#nav-left {
height: 500px;
width: 200px;
background: #eaeaea;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="nav-left">
		<div id="nav-title">
			<button id="hide">HIDE</button>
		</div>
</div>

票数 3
EN

Stack Overflow用户

发布于 2017-09-20 07:20:29

您可以在动画完成之后运行slidemenu函数。

代码语言:javascript
复制
$("#hide").on("click", function() {
  $("#options-menu").fadeOut("fast");
  $("#nav-left").animate({
    width: 50
  }, 500, slideMenu);
});

function slideMenu() {
  width = $("#nav-left").width();
  if (width == 50) {
    console.log('it works');
  }
}
代码语言:javascript
复制
#nav-left {
  height: 500px;
  width: 200px;
  background: #eaeaea;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="nav-left">
  <div id="nav-title">
    <button id="hide">HIDE</button>
  </div>
</div>

票数 3
EN

Stack Overflow用户

发布于 2017-09-20 07:16:03

你应该看看http://api.jquery.com/animate/

“完全”是在动画结束时调用的回调函数--您应该将警报逻辑放在那里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46315474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档