我正在構建一個包含浮動(固定位置)籃子的網站(帶有jQuery 1.4)。處理jQuery中的快速點擊
電流工作功能(Demo here):
- 當用戶點擊筐本身其切換滑動打開/關閉,並且切換類
- 了「關於鎖定」當用戶點擊一在其打開的頁面中添加項目鏈接,添加「開」類,並在通知中添加「項目名稱」已添加
Wha t我在努力
- 如果用戶點擊了「添加項目」鏈接:3秒後通知應該淡出,籃框幻燈片關閉,「開」類被刪除。 但是這需要考慮用戶是否瘋狂地快速點擊10件東西;更新添加的曲目名稱通知文本,而不排隊一堆淡入淡出/幻燈片 - 而只是保持良好打開狀態,然後從最後添加的項目中滑動3秒鐘關閉。如果籃子的課程被「鎖定」(即已被用戶打開),則只有通知應該淡出,籃子應該保持打開。
的JavaScript到目前爲止
//Toggle basket directly
$("#basket-button").click(function(){
$("#basket-contents").slideToggle();
$("#floating-basket").toggleClass("locked on");
return false
});
//Toggle basket with a 'buy now' button
$(".buy-button").click(function(){
//open basket
$("#basket-contents").slideDown();
$("#floating-basket").addClass("on");
//set track name
$("#basket-trackname").text($(this).attr('name'));
//Display basket message
$("#basket-message").fadeIn();
return false
});
HTML
<a class="buy-button" name="Item Name one" href="#">Buy</a>
<a class="buy-button" name="Item Name two" href="#">Buy</a>
<div id="floating-basket">
<div id="basket-message">
<strong id="basket-trackname"></strong> added to basket!
</div>
<a href="/basket" id="basket-button">My Basket <span id="basket-number">0</span></a>
<div id="basket-contents">
lorem
<a href="#">Checkout</a>
</div>
</div>
http://www.webresourcesdepot.com/ajaxed-sliding-shopping-cart-with-jquery是我發現的最接近的事 - 但即使這是有問題的(如果你添加一個項目並迅速關閉例如籃)。
會很感激的一些輸入:)
+1。打敗我,更好的解釋。 – sberry 2010-02-09 16:44:20
您不必將其創建爲匿名用途,您可以做
var t = setTimeout('whattodo()', 3000);
。這也讓你做paramatised調用:var t = setTimeout('whattodo(\'string1\',false,29)', 3000);
但無論哪種方式都很好,我發現:) – Psytronic 2010-02-09 16:48:04@Psytronic - 我知道表達式版本,但它不適合我很好,雖然這樣,它的工作原理。此外,語法顏色:D – 2010-02-09 16:50:40