0

我正在编写一个 php 页面,当鼠标悬停在链接上时,更多链接和一些信息应该下拉。问题是,我不知道该怎么做。

我已经输入了一些 javascript,我可以得到我想要下拉的 div 的 id。但是,设置可见性不起作用,因为这只会使该块出现或消失。我需要添加和删除块吗?如果解决方案不需要重新加载页面,我更愿意,并且 css 充其量是最后的手段。

<script type="text/javascript">
function showElement(id){
    document.getElementById(id).style.visibility = "visible";
}
function hideElement(id){
document.getElementById(id).style.visibility = "hidden";
}
</script>

对于那些建议我使用 jquery 的人,这是我的尝试,基于你给我的内容和一些谷歌搜索:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready( function() {
        $('a#').each( function(){
            var $id = $(this).attr('id');
            $('a#'+$id).hover(function(){
                $('div#'+$id).toggle();
            });
        });
    });
    </script>

它不起作用。诚然,这并不奇怪,因为我在昨天之前从未看过 jquery。不过,我不知道它有什么问题(可能很多事情)。它试图做的是遍历所有链接,然后将鼠标悬停在上面时,应显示具有相同名称的 div。或者这就是理论。

4

2 回答 2

2

请考虑使用像jquery这样的 javascript 库来操作 dom 元素。下面是一个非常基本的hover函数示例。

http://jsfiddle.net/LC7Fy/1/

查看jquery 文档以获取其他使用示例。

于 2012-05-11T05:13:30.540 回答
1

您的 javascript 代码中有拼写错误。你用过getElemtneById,但应该是getElementById

并用于style.visibility = "visible";使必须是visiblity:hiddencss 属性的可见 div 或 span 。那么只有这样才能工作。如果有,display:none那么您可以使用 javascript,如下所示。

<script type="text/javascript">
 function showElement(id){
    document.getElementById(id).style.display = "block";
 }
 function hideElement(id){
    document.getElementById(id).style.display = "none";
 }
 </script>

希望对你有帮助,谢谢

于 2012-05-11T05:40:43.780 回答