jQuery - Hide-und show-Elemente auf klicken Sie auf
Möchte ich eine Leiste unten, die in der Regel zeigt "Kontaktieren Sie uns", aber wenn die Leiste geklickt wird, wird dann die Anzeige der Kontaktdaten klicken Sie noch einmal, schalten Sie die Leiste, um einfach zu sagen: "Kontaktieren Sie Uns" wieder auf. Ich habe versucht, toggle (), aber dann verließ mich in Situationen, in denen die Kontakte-us + und die details wurden ausgeblendet.
Ich glaube, ich muss eine else-Anweisung, aber meine Kenntnisse in jQuery ist glanzlos.
http://jsfiddle.net/DzYTZ/2/ (Die aus irgendeinem Grund funktioniert es nicht auf)
Kann bitte jemand helfen?
Dank
<div class="footer2">
<a href="#" class="contactus">
Contact Us
</a>
<div class="more">
<a href="#">
@twitterhandle
</a>
<a href="#">
e-mail
</a>
</div>
</div>
.footer2
{
background-color: black;
margin-top: 1em;
padding-top: 1em;
padding-bottom: 1em;
text-align: center;
width: 100%;
}
.footer2 .contactus
{
font-family: 'Open Sans', sans-serif;
font-weight: 400;
color: #e3e3e3;
text-decoration: none;
display: inline;
}
.footer2 .contactus:hover
{
color: white;
}
.footer2 .more
{
margin-left: 1em;
display: none;
font-family: 'Open Sans', sans-serif;
font-weight: 400;
display: inline;
}
.footer2 .more a
{
margin-left: 2em;
color: #e3e3e3;
text-decoration: none;
}
.footer2 .more a:hover
{
color: white;
}
Bitte posten Sie Ihre javascript-code. Auch
Hier ist eine version der jsfiddle funktioniert... ich behoben, der Selektor in der jQuery zu verwenden .footer2 geändert und die CSS-definition von .footer2 .mehr entfernen display:inline. jsfiddle.net/DzYTZ/3
.footer
existiert nicht in HTML.Hier ist eine version der jsfiddle funktioniert... ich behoben, der Selektor in der jQuery zu verwenden .footer2 geändert und die CSS-definition von .footer2 .mehr entfernen display:inline. jsfiddle.net/DzYTZ/3
InformationsquelleAutor Ollie | 2012-12-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist der komplette code. Ein paar wichtigsten Dinge, die das verhindert. Ihr Knebel-Selektor benötigt ein Komma zwischen den beiden Klassen. Dies gilt für das Umschalten auf die beiden Elemente. Sie ebenfalls angegeben wird die Klasse
.footer
, die wirklich existierten. Endlich, der Stil für.footer2 .more
hattedisplay
angegeben zweimal. Deshalb war es zu zeigen, wenn die Seite geladen ist. Aktualisiert-Beispiel hier http://jsfiddle.net/DzYTZ/7/--
--
InformationsquelleAutor nthpixel
Sie können diese
Entfernen Sie auch die
display:inline
von derfooter2 .more{...}
zu halten, ist es zunächst versteckt.InformationsquelleAutor The Alpha
Haben Sie verwendet
.footer .more
wo ich denke, du meintest.footer2 .more
. Sie müssen auch zu verstecken.more
mit javascript, da du nicht die css-Eigenschaftdisplay
gesetzt, um sowohlnone
undinline
. Schließlich habe ich noch eine Anweisung zum Umschalten der "Kontaktieren Sie Uns" - text, aber Sie können Sie entfernen, wenn Sie wollen.Versuchen Sie dies:
Beispiel: http://jsfiddle.net/grc4/mG5EY/
InformationsquelleAutor grc
Ich werde versuchen und beantworten Ihre Frage mit einem Beispiel, der schaltet einfach eine css Klasse für den container ein-und ausblenden der enthaltenen Elemente:
HTML:
CSS:
Javascript:
Fiddle
InformationsquelleAutor TJ.
Wenn ich Sie richtig verstehe, das ist, was Sie wollen DEMO.
Ich nahm Ihre Geige und einige änderungen vorgenommen.
Wenn Sie auf den Kontakt, wird es zu verbergen die
more
Klasse und wenn Sie bereits ausgeblendet, dann wird es sichtbar machen.Ich nur, wenn zusammen mit der Geige, aber ich denke, Sie wollten die
more
- Klasse werden standardmäßig ausgeblendet, so dass Sie können fügen Sie diese Zeile vor dem code oben.$(".more").css("display","none");
InformationsquelleAutor Fee
Versuchen, diese seine Werke !
InformationsquelleAutor Amaresh Tiwari