2012-04-16 73 views
2

我想要一个div变得可见,当一个“按钮”被按下时。 下面是表示该按钮的HTML:jquery更改显示不工作

<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; 
} 
+0

我认为它是由于不透明:无; ,因为我猜想只切换显示属性不透明。 – 2012-04-16 06:38:11

回答

1

我个人更喜欢使用的显示和隐藏,而不是切换,因为它是一个比特更清楚发生了什么事情。我也会把这个显示器也放在jquery中。

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

首先,你已经错过了开幕<div>标签这里

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

否则,你的代码的工作好,那你的代码不能为你工作的唯一原因可能是您正在使用旧版本的jQuery(例如1.2.6)和live函数在这里没有定义。

我创建的jsfiddle,你可以在这里看到它http://jsfiddle.net/9wLjL/

+0

感谢您的帮助 – 2012-04-16 07:06:20

1

你有一个标记错误。关闭</div>未打开。在第一行

接下来,您可能想要停止使用.bind()它已被弃用。您应该改用.on()

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

Demo没有div

+0

我有一个按钮的问题。它的一半时间工作..可能是什么问题。它可能没有绑定..或者是有事件冲突吗? – 2012-04-16 07:06:05

1

$('#dl').click(function(){ /*....*/ }作品。