Ich bin gerade sehr frustriert ... und mache viele Fehler. Entschuldigung dafür

Ich habe versucht, ein bestimmtes Div basierend auf den Suchergebnissen einzublenden

Wenn keine Suche durchgeführt wurde, sollte das div nicht angezeigt werden, und dies ist mit CSS einfach, aber sobald die Suche abgeschlossen ist, muss ich den Stil in 'Block' ändern.

Da ich das benutzerdefinierte Google-Such-Javascript verwende, ist es zu schwierig, die Schaltfläche durch eine andere ähnliche Schaltfläche zu ersetzen, die meine Javascript-Funktion auslöst.

Ich konnte auch nicht herausfinden, wie ich das "resultDiv" in einen komplexeren Pfad ersetzen kann

Ich habe diese Javascript-Funktion bereits ausgeführt, um ein Div basierend auf dem Ergebnis div ...

Der CSS-Div-Stil befindet sich in # main.section .widget.HTML

function check()
{
    if (document.getElementById('resultDiv')) {
      if ($('.gsc-expansionArea').is(":empty")) {
         document.getElementById('resultDiv').style.display = 'none';
      }
      else {
         document.getElementById('resultDiv').style.display = 'block';
      }
   }    
}

Ich denke, es könnte zwei mögliche Lösungen geben. Zuerst muss das Skript geladen werden

<body onLoad="check();"> 

Scheint aber nicht zu funktionieren.

Zweitens wäre URL auf? Q = prüfen, was bedeutet, dass eine Suche durchgeführt wurde, aber ich weiß nicht, wie ich diese Parameter von der URL erhalten kann.

Bitte helfen Sie mir. Dankeschön

0
Navy Seal 9 Okt. 2012 im 22:20

3 Antworten

Beste Antwort

Nun, da Sie markiert haben:

$(window).load(function(){
   check();
})

Und Ihre Funktionsprüfung () könnte eher so sein

function check() {
    if ($('#resultDiv').length) {
        if ($('.gsc-expansionArea').is(":empty")) {
            $('#resultDiv').css({'display': 'none'})
        }
        else {
            $('#resultDiv').css({'display': 'block'})
        }
    }
}

-

Zweitens würde die URL auf? Q = überprüft, was bedeutet, dass eine Suche durchgeführt wurde, aber ich Ich weiß nicht, wie ich diese Parameter von der URL abrufen soll.

Benutze location.search

2
RASG 9 Okt. 2012 im 18:45

Sie können verwenden

$(document).ready(function()
{ 
  check();  
} 

Um die Funktion beim Laden der Seite zu laden. Sie können Ihre Funktion auch mit jQuery vereinfachen:

function check()
{
  var isEmpty= $('.gsc-expansionArea').is(":empty");
  $('#resultDiv').toggle(isEmpty);
}

Die Dokumentation für toggle finden Sie hier.

-1
Nick G. 9 Okt. 2012 im 18:47

Ersetzen

<body onLoad="javascript:check();"> 

Mit

<body onLoad="check();"> 
1
Ian 9 Okt. 2012 im 18:27