Ich habe ein einfach bisschen HTML:Div erscheint momentan auf pageload - wie kann ich damit aufhören?
<input type="text" id="lk" />
<div id="showDiv">
<input type="radio" name="lki" id="lki1" value="lki1"> <label for="lki1">Anywhere</label>
<input type="radio" name="lki" id="lki2" value="lki2"> <label for="lki2">Start</label>
</div>
Und das JS:
// page load
$(document).ready(function() {
var bla = $('#lk').val();
if(bla.length > 0){
$('#showDiv').show();
}
else {
$('#showDiv').hide();
}
});
// show/hide the "showDiv" content when a user types into the #lk text input field
$('#lk').bind('keyup change',function(){
if(this.value.length > 0){
$('#showDiv').show();
}
else {
$('#showDiv').hide();
}
});
Es gibt zwei Teile auf die JS. Die erste sollte das `#showDiv'-Div anzeigen, wenn das '#lk' Texteingabefeld Daten enthält.
Die zweite zeigt/hide `#showDiv 'basierend darauf, ob jemand Daten in das' #lk 'Texteingabefeld eingibt.
Das Problem, das ich habe, ist mit dem ersten Bit von JS, für die Seite zu laden:
// page load
$(document).ready(function() {
var bla = $('#lk').val();
if(bla.length > 0){
$('#showDiv').show();
}
else {
$('#showDiv').hide();
}
});
Wenn die Seite geladen wird, werden die Radio-Buttons in der `#showDiv‘ div oft kurz erscheinen dann verschwinden, wenn Das '#lk' Texteingabefeld ist leer.
Wenn sich unterhalb des Formulars Inhalt befindet, scheint der Inhalt zu springen, da das `#showDiv'-Teil angezeigt wird und dann sehr schnell ausgeblendet wird.
Gibt es eine bessere Möglichkeit, den `#showDiv'-Div zu verstecken, wenn das '#lk' Texteingabefeld leer ist, wenn die Seite zuerst geladen wird?
Können Sie es standardmäßig ausblenden ('display: none') und nur bei Bedarf anzeigen? Jetzt verstecken Sie es, aber erst nachdem das gesamte Dokument geladen und fertig ist. – GolezTrol