2010-10-06 20 views
1

我一直在尋找了一整天了這一點,但我不能找出自己..時發出警報的div高度變化

我有購物車,你可以添加項目。購物車在下拉菜單中,因此您必須單擊它才能查看它。因此,每當您將商品添加到購物車時,我想顯示「+1」,「+2」等等,在某處當您點擊下拉菜單時它會消失,因此可以重新開始計數。 所以,我認爲當div的高度發生變化時,它可以顯示+1。

但是,我不知道夠不夠JavaScript來做到這一點....

我的HTML:

<div id="button">Button</div> 
    <div id="chartdropupcontainer"> 
    <div id="chart"> 
     <button>test</button> 
<script type="text/javascript"> 
$("button").click(function() { 
    $("#testp").hide(); 
});  

$("#chart").bind("resize", function(){ 
    alert("test"); 
}); 
</script> 
     <p id="testp"></p> 
    </div> 
    </div> 
</div> 

我的CSS:

* { 
padding: 0; 
margin: 0; 
font-family: Helvetica; 
color: white; 
} 

#chartdropupcontainer { 
width: 200px; 
background-color: red; 
position: fixed; 
bottom: 0; 
right: 0; 
margin-right: 20px; 
padding: 0 5px 0 5px; 
margin-bottom: 47px; 
z-index: 998; 
} 
#chartdropupcontainer h1 { 
margin: 5px; 
color: black; 
cursor: pointer; 
} 
#chart { 
width: 100%; 
background-color: black; 
height: 400px; 
overflow: auto; 

} 
#button { 
background-color: blue; 
cursor: pointer; 
padding: 10px; 
width: 190px; 
position: fixed; 
bottom: 0; 
right: 0; 
margin-right: 20px; 
z-index: 999; 
} 

我的javascript:

$(document).ready(function() { 
    $("#button").click(function() { 
     $("#chartdropupcontainer").slideToggle("slow"); 
    }); 
}); 

這裏是一個鏈接到一個line版本:http://www.rutgerinc.nl/niels/

編輯:抱歉,有點inpolite! 任何人都可以請幫助我嗎?

+0

難道你不能把它掛到將物品添加到購物車的方法嗎?或者,在添加項目時讓購物車對象觸發事件。使它依賴於html標籤的維度屬性看起來有點奇怪和不穩定。 – BGerrissen 2010-10-06 09:53:49

+2

我真的不會依賴演示文稿更改來指示應用程序狀態的變化。例如,如果用戶增加了他們的字體大小,則可以看到同一個事件被觸發。我真的很建議把這個業務邏輯放到你的服務器腳本中(你可能更舒服),或者建立一些代碼來處理用戶交互。購物車是一個你不想犯錯誤的應用程序。 – Andrew 2010-10-06 09:55:37

回答

1

首先,resize事件是當您調整窗口大小時,這就是您的事件永遠不會觸發的原因。 http://api.jquery.com/resize/

我認爲你需要改變物品被添加到籃子的代碼位。是不是有更多的JavaScript的東西在第一個地方添加東西的籃子?

像BGerrissen這樣的事件驅動方法表明,這將是完美的,因爲當用戶向購物車中添加東西時,您可以觸發一個或多個獨立功能。

在使用jQuery時,自定義事件非常簡單。您使用觸發器觸發事件​​,然後綁定以偵聽事件。 ​​

+0

嗯... jquery觸發器似乎有點方便,可以這樣做,但我仍然不知道要寫出整個事情......它是不是我很懶或什麼,我只是不知道JavaScript ... – Rutgerinc 2010-10-06 11:00:11