Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2012, 11:40
Интересующийся
Отправить личное сообщение для noname1990 Посмотреть профиль Найти все сообщения от noname1990
 
Регистрация: 04.05.2012
Сообщений: 18

Покритикуйте код)
Никогда не писал в стиле ОПП, поэтому нужна помощь...скажите что не правильно и как лучше было это все написать.
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/
когда доскроливаешь до конца выплывает попап
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2012, 12:05
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

noname1990,


Ксать самое простое - просто поместить в нужном месте экрана прозрачный div с позицией absolute и шириной: по ширине экрана - при попадании курсора в который окно и выплывает, высоту данной подложки-сенсора делаем необходимой от экрана и уже
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2012, 12:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Всё, что находится в функции-конструкторе Slide, должно быть переписано в прототип как свойства, которые имеет каждый экземпляр.

Конечно, свои свойства должны перекрывать аналогичные из прототипа.
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2012, 13:00
Интересующийся
Отправить личное сообщение для noname1990 Посмотреть профиль Найти все сообщения от noname1990
 
Регистрация: 04.05.2012
Сообщений: 18

если я их засуну в прототип, то как мне ему значение передавать?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
Запуск кода с фрейма, код в родительском окне - КАК ? lamer Javascript под браузер 7 06.05.2012 15:15
Получить код js-скрипта, находящегося в файле на сервере RomanA Общие вопросы Javascript 4 04.04.2012 09:53
код нe работает в фаирфохе dadli Javascript под браузер 2 28.01.2012 21:18
Как создать bodyclick код royksopp Общие вопросы Javascript 8 14.10.2011 16:39