2016-04-26 5 views
-1

Ich benutze Google Translate und ich ändere es ein wenig. Jetzt habe ich ein komisches Problem. Es funktioniert nicht.JavaScript ändert nicht die Breite (mit Google Website übersetzen)

JavaScript-Code

var setWidthgoog = $(".goog-te-gadget-simple").width(); 
$(".google-t").css({"width": (setWidthgoog) + 'px'}); 

HTML-Code

<div class="google-t"> 
    <div id="google_translate_element"> 
    <div class="skiptranslate goog-te-gadget" dir="ltr"> 
     <div id=":0.targetLanguage" class="goog-te-gadget-simple" style="white-space: nowrap;"> 
     </div> 
    </div> 
    </div> 
</div> 

Wenn ich den gleichen Code in der Konsole setzen es funktioniert ... enter image description here

Gedanken?

Die Google im refering übersetzen ist dies (die Website-Plugin) http://translate.google.com/manager/website/

EDIT Dank WAR10CK ich feststellen, dass das Plugin erst nach ca. aufgerufen wird. 2s, gibt es da eh um es schneller anzurufen?

+0

Was hat das mit Google Translate zu tun? – bhspencer

+1

Test mit einem settimeout, vielleicht etwas anderen Code möchte überschreiben und könnte nach Ihrem Code sein – joyBlanks

+0

Ich denke, er meint, er hat den Beitrag mit Google Übersetzer – QoP

Antwort

0

Test mit einer SetTimeout, vielleicht will someother Code außer Kraft zu setzen und könnte nach dem Code sein

-joyBlanks

, die tatsächlich gearbeitet !, hart ich weiß nicht, was die Google Plugin kann nach meinem Code aufrufen: S

+0

Es könnte ein Überschreiben sein. Es könnte auch ein asynchrones Problem sein, bei dem der Inhalt beim Laden der Seite noch nicht vorhanden ist, aber nach dem Timeout. '$ (selector) .length' ist eine gute Möglichkeit, dies zu bestimmen. Das jQuery-Objekt gibt ein Array übereinstimmender Selektoren oder ein leeres Array zurück, wenn keine Übereinstimmungen gefunden werden. Überprüfen Sie die length-Eigenschaft dieses Arrays mithilfe der obigen Syntax, um das asynchrone Problem auszuschließen. – War10ck

+0

das google-objekt ".goog-te-gadget-simple" ist 0, wenn meine google-t-klasse 1 ist ... also erscheint das objekt nach etwa aprox nicht. 2s. –

+0

Das ist dann ein asynchrones Problem. Da das Element nicht vorhanden ist, wenn das Skript ausgeführt wird, wird der Wert "width" nicht empfangen oder als "0" (nicht sicher, was) aufgezeichnet. – War10ck

Verwandte Themen