css 可见性属性和 javascript setTimeout 方法出错
Error with css visibility property and javascript setTimeout method
我必须让一个p
元素在单击按钮时消失,而div
元素滑过它。如果p
元素已经不可见并且div
已经在其上方,则单击按钮时,p
应恢复可见,但在 1 秒后div
滑出它。
第一部分工作正常,在第二种情况下,p
的可见性属性上使用的 setTimeout 函数不起作用。
代码如下:
function slide_wiki(){
var wiki=document.getElementById('wiki_bar');
var p_vita=document.getElementById('vita');
var width=wiki.style.width;
slide(wiki, 100);
if(width!='0%'){
setTimeout(function(){p_vita.style.visibility='visible'}, 1000);
wiki.style.borderRight='1px solid #E0E0E0';
}else{
p_vita.style.visibility='hidden';
setTimeout(function(){
wiki.style.borderRight='0px solid white';
}, 900);
}
}
我按照建议创建了一个 jsFiddle,但由于某种原因,幻灯片功能根本不起作用,仍然需要 css 和 javascript 在那里,所以无论如何它都应该有所帮助。http://jsfiddle.net/bigcola317/GRs3V/5/
由于我看不到您的代码,因此无法跟踪该错误。因此,我使用简单的css过渡制作了一个有效的解决方案。看看它是否适合您:http://jsfiddle.net/joplomacedo/V3yat/
解决了。问题是,如果"p"不可见,则在我单击按钮后,slide() 将在"div"上执行 slide_close() 函数,为"p"上的样式属性设置新值。我猜问题可能是样式属性可以覆盖在可见性属性上所做的设置,所以我尝试在 slide_close() 函数中更改 setAttribute() 方法:
p_vita.style.width="...";
p_vita.style.marginLeft="...";
这使它起作用。这不是很清楚,但无论如何谢谢:)
相关文章:
- 添加一个setTimeout方法会使jQuery悬停方法忽略setTimeout方法中的函数
- I'我用setTimeout加载脚本,你能找到一个更快的方法吗
- 将setTimeout()包装器实现为Element.prototype中的方法
- javascript在html元素方法运行setTimeout后返回此消息
- setTimeout方法的工作原理很奇怪
- setTimeOut() 或 setInterval() .4种方法应用相同的东西.哪个是最好的
- 在setTimeout中执行jQuery成员函数而不关闭的方法
- 为什么这个 setTimeout() 方法在这个函数中不起作用
- Node.js-有没有一种方法可以访问传递给'setTimeout'使用返回的timeoutObject
- css 可见性属性和 javascript setTimeout 方法出错
- 为什么当我调用 Meteor.setTimeout() 时,我后续的 Meteor 方法调用不会等待第一个方法完成
- 不使用 setTimeout 方法的实时注释
- 主干 JavaScript setTimeOut 方法
- setTimeout方法执行一次
- 如何使用节点值创建配对游戏,并设置setTimeout()方法
- 当我使用setTimeout方法时,为什么变量不保持不变?
- setTimeout()方法中的clearartimeout()在JS中不起作用
- JavaScript动态时间SetTimeout方法改变高度
- 为什么在WebBrowser控件中通过setTimeout方法调度的代码没有被调用
- 当使用变量时,setTimeout()方法不会执行