css可见性属性和javascript setTimeout方法出错

时间:2012-07-05 17:37:27

标签: javascript css visibility settimeout

p元素在其上滑动时,我必须在点击按钮时消失div元素。如果p元素已经不可见且div已经超过它,那么点击按钮时,p应该会在{1}} {1}}之后返回滑下它。

第一部分工作正常,在第二种情况下,不适用于div的可见性属性上使用的setTimeout函数。

以下是代码:

p

我按照建议创建了一个jsFiddle,但由于某种原因滑动功能根本不起作用,仍然需要css和javascript,所以它应该有所帮助。 http://jsfiddle.net/bigcola317/GRs3V/5/

2 个答案:

答案 0 :(得分:1)

由于我看不到您的代码,我无法跟踪错误。所以,我使用简单的css转换制作了一个有效的解决方案。看看它是否适合您:http://jsfiddle.net/joplomacedo/V3yat/

答案 1 :(得分:0)

解决了它。问题是我按下按钮后如果" p"如果看不到,slide()将在" div"上执行slide_close()函数,在" p"上设置样式属性的新值。我猜测问题可能是样式属性可能会覆盖在visibility属性上进行的设置,所以我尝试在slide_close()函数中更改setAttribute()方法:

p_vita.style.width="...";
p_vita.style.marginLeft="...";

这使它成功。它不是很清楚,但无论如何都要感谢:)。