Seite 1 von 1

Aktiven Button hervorheben

BeitragVerfasst: 21.02.2010, 14:26
von MeisterNoGo
Hallo @ all,

Ich habe ein Menü, das komplett aus Bildern ersteht erstellt. Onmouseover und onmouseout haben keine probleme gemacht (es wird das jeweilige Bild durch ein zweites Bild ersetzt). Jetzt möchte ich nur noch, dass die momentan aktive Seite im menü hervorgehoben wird.
Hier mal der code, den ich für einen unterpunkt verwendet habe in meiner navigation.rhtml, die dann später gerendert wird.
Code: Alles auswählen
<div id="upnav">
  <% link_to :controller => :loginpage do %>
    <%=  image_tag("btn_off_loginpage.png",
         :onmouseover => "this.src='/images/btn_on_loginpage.png'",
         :onmouseout => "this.src='/images/btn_off_loginpage.png'") %>
  <% end %>
</div>


wie kann ich denn am schlausten erreichen, dass der aktive menüpunkt (dh. wenn man in diesem fall auf loginpage klickt) auch btn_on_loginpunkt.png das angezeigte bild ist?


Ich wäre über eine Antwort sehr dankbar,
gruß NoGo

Re: Aktiven Button hervorheben

BeitragVerfasst: 22.02.2010, 00:32
von MeisterNoGo
Hi,
habe jetzt selbst die optimale lösung gefunden, falls es jemanden interessiert:

in dem controller des jeweiligen navigations-ziels im index eine variable definieren (bsp: @active_tab) und ihr einen wert zuweisen.
anschließend die navigation mit einer if bedinung versehen:
Code: Alles auswählen
<% if @active_tab == "verlinkungen" # Links Button %>
  <%= link_to image_tag("navigation/cjdi/links_on.jpg", :size => "200x30", :alt => "LINKS", :border => 0, :id => "LINKS"),
    cjdi_linkups_path %>
<% else %>
  <%= link_to image_tag("navigation/cjdi/links_off.jpg", :size => "200x30", :alt => "LINKS", :border => 0, :id => "LINKS",
    :mouseover => "navigation/cjdi/links_on.jpg"), cjdi_linkups_path %>
<% end %>


Code im controller von links ( linkups_controller.rb)
wenn man mit scaffold erstellt hat, sonst muss man den index halt selbst erstellen:
Code: Alles auswählen
def index
    @linkups = Linkup.all
    @active_tab = "verlinkungen"
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @linkups }
    end


villeicht hilft es ja jemandem (=
gruß NoGo