I have the following code:
jQuery(function ($) {
var OSX = {
container: null,
init: function () {
$("input.apply, a.apply").click(function (e) {
e.preventDefault();
$("#osx-modal-content").modal({
overlayId: 'osx-overlay',
containerId: 'osx-container',
closeHTML: null,
minHeight: 80,
opacity: 65,
position: ['0',],
overlayClose: true,
onOpen: OSX.open,
onClose: OSX.close
});
});
},
open: function (d) {
var self = this;
self.container = d.container[0];
d.overlay.fadeIn('fast', function () {
$("#osx-modal-content", self.container).show();
var title = $("#osx-modal-title", self.container);
title.show();
d.container.slideDown('fast', function () {
setTimeout(function () {
var h = $("#osx-modal-data", self.container).height()
+ title.height()
+ 20; // padding
d.container.animate(
{height: h},
200,
function () {
$("div.close", self.container).show();
$("#osx-modal-data", self.container).show();
}
);
}, 300);
});
})
},
close: function (d) {
var self = this; // this = SimpleModal object
d.container.animate(
{top:"-" + (d.container.height() + 20)},
500,
function () {
self.close(); // or $.modal.close();
}
);
}
};
OSX.init();
});
To load this script, a button with the class “apply” has to be clicked…
Does anyone know a way of loading this script “onload” without a button being clicked?
I have tried a lot of things, but I am a newbie when it comes to Javascript.
Thanks!
Just remove the click event listener and pull the modal creation into the root of init().
Because of the jQuery wrapper, your code shouldn’t be called until your page is loaded anyway.