因此,如果我理解用戶何時將他們的手指有效地按下按鈕,它應該變爲淡入淡出,然後當用戶鬆開手指時,它應該回到不透明度1,而是保持在.5 。
如果是這種情況,這與觸摸設備缺少事件的問題有關。發生的事情是,當你點擊它時,它保持懸停狀態。如果你去網頁視圖中的其他地方點擊,那麼你會看到它變回到1的不透明度。爲了用觸摸設備做這樣的事情,儘管你需要使用javascript並觀察下來和上升的事件因爲觸摸設備觸發這一點。
您可能會收到的另一個建議是使用:active
而不是:hover
,但是如果不是更差的結果,您會看到類似的結果。所以這就是發生這種情況的原因。至於如何解決這個問題。您可以使用touchstart
和touchend
事件,這些事件是您可以在javascript中偵聽觸發事件時觸發的事件。這是一個JSFiddle示例。
http://jsfiddle.net/E3dNN/2/
基本具有以下JavaScript代碼
document.getElementById('box').addEventListener('touchstart', function() {
$('#elementID').css('opacity', '0.5');
});
document.getElementById('box').addEventListener('touchend', function() {
$('#elementID').css('opacity', '1');
});
在這來了這樣的新的CSS規範將在CSS處理,但不會是一會兒。
另外這裏也是一個blog post也談到這一點。
祝你好運。
觸發淡入的原因是什麼?當你的手指離開按鈕? – Tony
是的,這是應該做的。當它在桌面上運行時,當鼠標從按鈕上移除時,它會退到100%。 –
我的回答有用嗎? – Tony