Никогда не писал в стиле ОПП, поэтому нужна помощь...скажите что не правильно и как лучше было это все написать.
function Slide( opts )
{
this.elemPos = $(opts.pos).offset().top;
this.elem = $(opts.elem),
this.exit = $(opts.exit);
this.startw = opts.startw,
this.starth = opts.starth,
this.endw = opts.endw,
this.endh = opts.endh;
this.init = function()
{
var that = this
need = false,
toggle = true;
$(window).bind("scroll", function()
{
if ( that.elemPos <= $(window).scrollTop() + $(window).height() && !need )
{
that.elem.animate({'right' : '0px' }, 400, function()
{
need = true;
toggle = true;
});
}
else if ( need && that.elemPos > $(window).scrollTop() + $(window).height() )
{
that.elem.animate({'width' : that.endw, 'height' : that.endh}, 400, function()
{
toggle = false;
})
}
});
}
}
Slide.prototype.show = function()
{
this.init();
var elem = this.elem,
self = this;
function _transform( that )
{
if ( toggle )
{
elem.animate({ 'width' : self.endw, 'height' : self.endh },400, function()
{
toggle = false;
$(that).text('+');
});
}
else
{
elem.animate({ 'width' : self.startw, 'height' : self.starth },400, function(){
toggle = true;
$(that).text('×')
});
}
}
this.exit.bind("click", function()
{
_transform(this);
});
}
$(function(){
var slide = new Slide({
pos : '#position',
elem : '.recomended',
exit : '.exit_recomended',
startw : 400,
starth : 125,
endw : 225,
endh : 30
});
slide.show();
});
ссылка на готовое решение
http://www.pxleyes.com/blog/2011/12/...blow-you-away/
когда доскроливаешь до конца выплывает попап