我有以下代码:
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();
});
要加载此脚本,必须单击“apply”类的按钮... 有没有人知道如何在没有点击按钮的情况下加载此脚本“onload”?
我尝试了很多东西,但在Javascript方面我是新手。
谢谢!
答案 0 :(得分:0)
在底部添加:
window.onload = OSX.init;
答案 1 :(得分:0)
只需删除click事件侦听器并将模态创建拉入init()的根目录。
jQuery(function ($) {
var OSX = {
container: null,
init: function () {
$("#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();
});
由于jQuery包装器,在你的页面加载之前不应该调用你的代码。
答案 2 :(得分:0)
请参阅jQuery的ready()
函数。
例如:
$(document).ready(function () {
$("p").text("The DOM is now loaded and can be manipulated.");
});