I am attempting to build an on-page-load overlay using Drupal 7 & Colorbox and am stumped. I my JS / JQuery skills are pretty slim and I've hit a barrier. I've created a Block in views and pushing it to my home page.
I added the .colorbox class manually in my tpl.php file, which is allowing the rest of the colorbox specific classes to be added.
here is the code for my block:
<section id="block--my-overlay-block" class="block block-views colorbox init-colorbox-processed-processed cboxElement" style="display:none;">foo, bar & baz</section>
here is my Drupalized jQuery file:
/* overlay */
(function ($) {
Drupal.behaviors.initColorboxHP = {
attach: function (context, settings) {
if (!$.isFunction($.colorbox)) {
return;
}
$('#block--my-overlay-block', context)
.filter('.colorbox')
.once('init-colorbox-processed')
.colorbox({inline:true,href:"#block--my-overlay-block",innerWidth:"600px", innerHeight:"600px"});
}
};
{
$(document).bind('cbox_complete', function () {
Drupal.attachBehaviors('#cboxLoadedContent');
});
}
})(jQuery);What I expected to happen was the block to be hidden via an inline style definition, which it is. Then my colorbox/jquery would pick it up show it in a nice overlay. Seems like an event handler is not being invoked, but I am not sure how to proceed. As an exercise, i worked up a version w/o the Drupal specific behavior code (b/c i knew i could cheat and get my script in there w/out the Drupal specific code:
jQuery(document).ready(function($) {
$('#block--my-overlay-block').show();
$.fn.colorbox({inline:true,href:"#block--my-overlay-block",innerWidth:"600px", innerHeight:"600px",open:true});
$(document).bind('cbox_closed', function(){
$('#block--my-overlay-block').hide();
});
});
I am hoping for some guidance in learning how to do this the Drupal way.
thanks!
Comments
I think your Drupalized
I think your Drupalized jQuery was painfully close looks like you just forgot to include the open:true and it would have opened for you. The below worked for me.
web Kreator
Sorry for being newbee-ish,
Sorry for being newbee-ish, but I have used 5 hours now to get something like this to work:
This is placed inside and on the same page is a working link (when clicked):
<a href="/partner-request?&width=243&height=490&iframe=true" class="colorbox-load init-colorbox-load-processed-processed cboxElement" id="popup-form">Become a partner</a>This is the page: http://acmarine.dk/partners-usa (click the "Become a parther link" to see the colorbox).
I don't know how to open the colorbox (same as clicking the link) on page load. Beleive I have now tried "everything". Where di I put the code in ChrisNelson's suggestion?