jquery更改显示不起作用

时间:2012-04-16 06:30:22

标签: jquery html css

当按下“按钮”时,我希望div可见。 这是代表按钮的html:

<span id='dl' class='btn' data-app-id=''>DOWNLOAD<br/>FREE</span></div>

这是按下按钮之前初始阶段div的html。

<div class='box' id='dlbox' style='display:none'>
    <div class='title'>
        <span class='text'>Confirm install</span>
        <span id='x1' class='x'></span>
    </div>
    <p>Click to install </p>
    <p><?php echo "<span style='font-weight:bold'>$app->appName</span>"; ?></p>
</div>​

jquery是这样的:

$("#dl").live("click", function() {
    $("#dlblank").toggle();
    $("#dlbox").toggle();
});​

“切换”时div的css:

.box {
    position: absolute;
    background: #4d0404;
    opacity: none;
    z-index: 9001;
    -webkit-box-shadow: 0 5px 7px black;
    text-align: center;
    color: white;
    top: 50px;
}

4 个答案:

答案 0 :(得分:1)

我个人更喜欢使用show和hide来切换,因为它会更清楚一些。我也会在jquery中放入不显示的内容。

$('#dlbox').css('display':'none');   
$(document).ready(function() {   
       $("#dl").live("click", function(){
            $("#dlbox").show()
        });
    });

答案 1 :(得分:1)

首先,您错过了在此处打开<div>标记

<div><span id='dl' class='btn' data-app-id=''>DOWNLOAD<br/>FREE</span></div>

否则,您的代码运行良好,并且您的代码无法为您工作的唯一原因可能是您使用旧版本的jQuery(例如1.2.6)并且此处未定义实时函数。

我已经创建了jsfiddle,你可以在http://jsfiddle.net/9wLjL/

看到它

答案 2 :(得分:1)

您有标记错误。结束</div>没有打开。在第一行

接下来,您可能希望停止使用已弃用的.bind()。您应该使用.on()代替。

$("#dl").on("click", function(){
    $("#dlblank").toggle();
$("#dlbox").toggle();});
没有div

Demo

答案 3 :(得分:1)

$('#dl').click(function(){ /*....*/ }是否有效。