當用戶點擊settings.svg圖標時,我創建了一個onclick下拉菜單。Rails - 下拉菜單圖標上的不透明度切換?
當前,當用戶將鼠標懸停在此設置圖標上時,圖標上的不透明度會從0.3(默認不透明度)更改爲0.5。
我在努力擴展這種行爲。當用戶點擊設置圖標時,不透明度應該從0.3改爲0.5。它應該保持在0.5不透明度,直到用戶再次點擊圖標本身或頁面上的其他位置 - 返回0.3。
任何幫助將是偉大的 - 謝謝你!
application.html.erb
<ul class="navigation-bar">
<div class="navigation-bar-right-inset">
<li class="navigation-bar-right" id="drop"> <span class="settings"> <a href="#"> <img class="#" src="/assets/settings.svg"> </a> </span>
<ul class="dropdown">
<li> <%= link_to "Profile", edit_user_registration_path, method: :get %> </li>
<li> <%= link_to "Log out", destroy_user_session_url, method: :delete %> </li>
</ul>
</li>
</div>
</ul>
posts.js.coffee
jQuery ->
$("#drop").click (e) ->
e.preventDefault()
$(this).find(".dropdown").fadeToggle "fast"
$(document).on "click", (e) ->
$trigger = undefined
$trigger = $("#drop")
$(".dropdown").fadeOut "fast" if $trigger isnt e.target and not $trigger.has(e.target).length
CSS
.navigation-bar-right .home img:hover, .navigation-bar-right .settings img:hover { opacity: 0.5; }
我覺得這個方法比我的好,用它代替:) – Zagen