2016-10-04 4 views
0

Ich arbeite an einer Cratejoy-Site, und mein Client benötigt ein modales Popup nach einer bestimmten Zeit. Ich fügte hinzu, die modale und wenn ich diese verwenden, es funktioniert:Loading Bootstrap modal nach Verzögerung funktioniert nicht

$('#myModal').modal('show'); 

Aber wenn ich versuche, eine dieser Antworten von this page zu verwenden, ist es ein Uncaught Typeerror erhalten. $ (...) modal ist nicht eine Funktion Fehler und das modale Popup nicht. Sie können sehen, dass es nicht funktioniert here.

+0

Haben Sie die Bootstrap haben. js Datei auf Ihrem 'html'. Außerdem müssen Sie dieses Skript an das Ende Ihrer Seite setzen und es in ein $ (Dokument) .ready (function() {}) einbinden. – Franco

+0

Ich habe es eingepackt und es hat immer noch nicht funktioniert. Und das Modal zeigt sich, wenn ich setTimeout() nicht verwende, egal ob ich es einpacke oder nicht. –

Antwort

1

Sie haben mehrere Versionen von jQuery

Apart mit einem eigenen Skript-Tag Ihrer main.js auch Datei enthält es von der offensichtlichen Version geladen werden.

Da es nach bootstrap.js geladen wird überschreibt es das gesamte jQuery-Objekt und entfernt den Verweis auf Bootstrap in der Originalversion. Deshalb erhalten Sie den Fehler

Wählen Sie, welche Version von jQuery Sie verwenden möchten und entfernen Sie die andere.

Stellen Sie sicher, boostrap.js Lasten nach der ausgewählten Wahl

+0

Ich weiß nicht, warum crayjoy das getan hat - und ich kann keine dieser jQuery-Links entfernen oder es wirft noch mehr Fehler auf. Es sieht so aus, als würde ich das nicht tun. –

+0

Regeln sind einfach ... jquery muss vor Plugins wie Bootstrap laden und alle Code, der jquery verwendet muss danach kommen – charlietfl

1

allererst Sie Link zu bootstrap.js auf Ihrer Seite und nach Jquery geladen haben müssen.

Zweitens haben Sie das Skript in einem Skript-Tag vor Ende body Tag

$(document).ready(function(){ 
    $('#myModal').modal('show'); 
}); 

Um die modal zu verzögern, dies zu tun:

setTimeout(function(){ 
    $('#myModal').modal('show'); 
}, 5000) 
+0

Tippfehler in setTimeout – charlietfl

+0

@charlietfl Woops. Danke :) – Franco

+0

Das hat auch nicht funktioniert, auch wenn ich versucht habe mit setTimeout –

Verwandte Themen