0

当一个元素滑过它时,我必须让一个p元素在单击按钮时消失。div如果p元素已经不可见并且div已经在它上面,那么在单击按钮时p应该变回可见但在 1 秒后div滑出它。

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

这是代码:

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/

4

2 回答 2

1

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

于 2012-07-05T22:44:18.357 回答
0

解决了。问题是,如果“p”不可见,我单击按钮后,slide() 将在“div”上执行 slide_close() 函数,为“p”上的样式属性设置新值。我猜问题可能是样式属性可能会覆盖在可见性属性上所做的设置,所以我尝试在 slide_close() 函数中更改 setAttribute() 方法:

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

这使它工作。这不是很清楚,但无论如何谢谢:)

于 2012-07-06T09:39:02.847 回答