jQuery.Colorbox nach jQuery.scrollTo
Frage
Ich arbeite mit zwei Plugins in jQuery: jquery.scrollTo und jquery.Colorbox und ich bin ein Problem mit, ganz einfach ich denke
.Was ich tun möchte, ist colorbox Feuer kurz nach dem scrollTo Ereignis endet.
scrollTo tatsächlich unterstützt Rückrufe mit der Einstellung onAfter und es funktioniert mit einfachen alert () Nachrichten. Aber wenn ich eine Funktion schreiben colorbox auszuführen, funktioniert es nicht. Colorbox führt zusammen mit scrollTo (die Fensterrollen und die colorbox div öffnet)
Ich habe den folgenden Code:
<script type="text/javascript">
$(document).ready(function(){
function abreCbox(){
$(".abrircbox").colorbox({width: "50%",inline: true, href:"#inline_example1"})
}
$.scrollTo('#home',{offset: {left: -100, top: -100}});
$.localScroll({
axis: 'xy',
queue: true,
duration: 1800,
onAfter: abreCbox,
offset: {left: -100, top: -100}
});
})
</script>
Ich weiß nicht, wie die onAfter Funktion funktioniert, so dass ich Sie betteln um Hilfe = D
Vielen vielen Dank.
Lösung
Sie haben dieses Stück Code
function abreCbox(){
$(".abrircbox").colorbox({width: "50%",inline: true, href:"#inline_example1"})
}
in Ihrem $(document).ready(function() ...
, dh es wird ausgeführt, wenn das Dokument fertig gestellt ist.
Der onAfter
Teil ist in Ordnung, die Sie gerade außerhalb der Funktionsdeklaration bewegen müssen.
//for reuse later
function abreCbox(){
$(".abrircbox").colorbox({width: "50%",inline: true, href:"#inline_example1"})
}
$(document).ready(function(){
$.scrollTo('#home',{offset: {left: -100, top: -100}});
$.localScroll({
axis: 'xy',
queue: true,
duration: 1800,
onAfter: abreCbox,
offset: {left: -100, top: -100}
});
});
Wenn Sie nicht vorhersagen, werden Sie später Funktion abreCbox
wieder verwenden, dann ist es ratsam, eine anonyme Funktion zu übergeben, die Erklärung vollständig onAfter
und zu entfernen, wie folgt aus:
$(document).ready(function(){
$.scrollTo('#home',{offset: {left: -100, top: -100}});
$.localScroll({
axis: 'xy',
queue: true,
duration: 1800,
onAfter: function (){
$(".abrircbox").colorbox({width: "50%",inline: true, href:"#inline_example1"});
},
offset: {left: -100, top: -100}
});
});