2012-04-16 64 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(){ /*....*/ }作品。