- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
整个周末,我一直在处理一个包含导航栏和主栏的元素。导航栏有一个切换按钮。当按下切换按钮时,我想为列的收缩和扩展设置动画。为了做到这一点,我创建了一个可以找到的 jsfiddle here .我的相关 HTML 如下所示:
<div class="ui full-height grid">
<div class="full-height row">
<div id="navDiv" class="four wide full-height column" style="background-color:navy; <a href="#" onclick="toggleNav();" style="color:white;">toggle</a>
</div>
<div class="eight wide full-height column">
[Content Goes Here]
</div>
</div>
</div>
相关的 JavaScript 如下所示:
var isOpen = true;
function toggleNav() {
var options = {};
if (isOpen === true) {
options = { to: { width: 56 } };
} else {
options = { to: { width: 114 } };
}
$("#navDiv").effect("size", options, 500);
isOpen = !isOpen;
}
如示例所示,列执行收缩动画。但是,该列不会保持收缩状态。它会弹回到原来的大小。如何使动画将 navDiv
的宽度从一种尺寸更改为另一种尺寸并使其保持原样?
谢谢
最佳答案
您可以使用 .animate() 稍微简化一下并检查 #navDiv 的宽度。
var w = $('#navDiv').outerWidth();
function toggleNav() {
if ($('#navDiv').width() > 56) {
$('#navDiv').animate({
width: 56
}, 500);
} else {
$('#navDiv').animate({
width: w
}, 500);
}
}
我不确定是否有任何真正的性能提升,或者这是否只是个人偏好,但我通常尽量避免使用内联 onclick
。
所以上面的代码可以写成:
<a href="#" id="toggle" style="color:white;">toggle</a>
var w = $('#navDiv').outerWidth();
function toggleNav() {
if ($('#navDiv').width() > 56) {
$('#navDiv').animate({
width: 56
}, 500);
} else {
$('#navDiv').animate({
width: w
}, 500);
}
}
$('#toggle').click(toggleNav);
关于css - jQuery 动画无意中还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22127547/
这个问题已经有答案了: Why do I get "AttributeError: NoneType object has no attribute" using Tkinter? Where did
我有一个列表,我想从中删除没有出现在另一个列表中的项目。我试过以下方法: for w in common: for i in range(1,n): if no
我遇到了一些自定义管理页面触发 Django 管理站点而不是显示我的自定义页面的问题。 我的 urls.py 如下: urlpatterns = patterns('', # ... trim
我尝试使用 href 方法下载 CSV 文件,但是将其设置为 href 标记时数据似乎被 chop 。对于 IE,我使用了 msSaveBlob,它似乎工作正常并且所有数据都已正确下载。
我是一名优秀的程序员,十分优秀!