为什么在使用onclick时我的div不会出现

时间:2013-03-18 12:52:38

标签: javascript html5 css3

当我点击按钮时,我正试图让div出现。我希望出现的div是.photo1。 我只使用了一个带有背景颜色的块作为小提琴,但实际上它将是一个在点击时可见的图像。 目前,点击没有任何反应。

非常感谢您的帮助。

我的代码可以在jsfiddle here

找到

html是:

<body>
    <ul class="menu">
        <li>
            <a href="#" onclick="showStuff('photo1')";> show the block </a>
       </li>
    </menu>
    <span div id="photo1" style="display: none;">
        <brandinfobox class="photo1"> </brandinfobox>
    </span>
</body>

javascript是:

function showStuff(id) {
    document.getElementById(id).style.display = 'block';
}

CSS是:

.menu {
    position:absolute;
    background-color: orange;
    background-size: 40, 130px;
    font-size: 14px;
    left: 20px;
    text-align: center;
    line-height: 40px;
}
brandinfobox {
    position: absolute;
    height: 384px;
    width:620px;
}
.photo1 {
    position:absolute;
    top: 100px;
    left: 100px;;
    background-color:black;
    width:200px;
    height: 200px;
    background-size: contain;
}

1 个答案:

答案 0 :(得分:1)

您的代码非常混乱,我建议您学习HTML标记,CSS类和ID - 特别是您应该在哪里使用。

它无法正常工作的原因是因为JavaScript函数在页面加载时是作用域(只能访问)。将它放在head或body标签中(在JSFiddle中,通过左侧的菜单)将意味着浏览器可以找到showStuff函数。

我试图在以下JSFiddle中整理你对类和标签的使用:http://jsfiddle.net/jaypeagi/WFuRX/2/