Javascript $(document).ready()在Jquery插件方法中?
我正在尝试修改插件中的“resize”方法,具体取决于Javascript $(document).ready()在Jquery插件方法中?,javascript,jquery,jquery-plugins,document-ready,Javascript,Jquery,Jquery Plugins,Document Ready,我正在尝试修改插件中的“resize”方法,具体取决于div\id是否存在 我是这样想的: resize: function(x, y) { if (this.visible) { var size = { x: $(window).width(), y: $(window).height() }; var scroll = { x: $(window).scrollLeft(), y: $(window).scrollTo
div\id
是否存在
我是这样想的:
resize: function(x, y) {
if (this.visible) {
var size = { x: $(window).width(), y: $(window).height() };
var scroll = { x: $(window).scrollLeft(), y: $(window).scrollTop() };
var left = (scroll.x + (size.x - (x + 14)) / 2);
var top = (scroll.y + (size.y - (y + 14)) / 2);
console.log(size);
if ($.browser.msie || ($.browser.mozilla && (parseFloat($.browser.version) < 1.9))) {
y += 4;
}
var booking = false;
console.log('v 16:10');
if($('#bookingEngine').length>0){
booking = true;
}
console.log(booking); // ALLWAYS LOGS false, when i know it's there
/*REST OF THE METHOD*/
所以问题是:
ready函数在jquery方法中不起作用吗?
if($('bookingine').length>0{
应该是if($('bookingine').length>0){
插件的用户可以决定何时调用插件的方法。想象有人在稍后阶段调用插件:$(文档).ready
可能发生在5分钟前……由于您的插件总是在现有DOM元素或jQuery对象上被调用,因此document.ready()
似乎不太可能是必需的或可取的。只是我在lightbox准备好之前看到了console.log
resize: function(x, y) {
if (this.visible) {
var size = { x: $(window).width(), y: $(window).height() };
var scroll = { x: $(window).scrollLeft(), y: $(window).scrollTop() };
var left = (scroll.x + (size.x - (x + 14)) / 2);
var top = (scroll.y + (size.y - (y + 14)) / 2);
console.log(size);
if ($.browser.msie || ($.browser.mozilla && (parseFloat($.browser.version) < 1.9))) {
y += 4;
}
var booking = false;
console.log('v 16:10');
$(document).ready(function(){
if($(window).contents().find($('#bookingEngine')).length>0){
booking = true;
}
});
console.log('Booking: '+booking);
/* REST OF THE METHOD */