Javascript.RU

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

Проблемы с разрешением экрана и jquery javascript
На сайте есть кружок с надписью "Участвуй в акции:..." Там происходит анимация при движении мыши. Проблема в том, что позиционируется этот кружок по-разному в зависимости от разрешения монитора. В html и css привязки к разрешению нет. Подумываю на глючный скрипт. Только вот взял я его в инете, а разбираюсь в JS очень плохо.

Если кто шарит, подскажите пожалуйста, нет ли в скрипте привязки к разрешению экрана?

(function($){ 
    $.fn.plaxmove = function(options) { 
 
        this.defaults = { 
            ratioH: 0.2, 
            ratioV: 0.2, 
            invertH: false, 
            invertV: false, 
            reversed: false 
        } 
         
        var settings = $.extend({},this.defaults,options), 
            layer = $(this), 
            center = { 
                x: $('html').width()/2-layer.width()/2, 
                y: $('html').height()/2-layer.height()/2 
            }, 
            y0 = layer.offset().top, 
            x0 = layer.offset().left; 
             
        if(settings.reversed) { 
 
            if(settings.invertH) 
                var eqH = function(e) { 
                    return x0-(e.pageY - center.y)*settings.ratioH 
                } 
             
            else  
                var eqH = function(e) { 
                    return x0+(e.pageY - center.y)*settings.ratioH 
                } 
             
            if(settings.invertV) 
                var eqW = function(e) { 
                    return y0-(e.pageX - center.x)*settings.ratioV 
                } 
            else 
                var eqW = function(e) { 
                    return y0+(e.pageX - center.x)*settings.ratioV 
                } 
 
        } 
         
        else { 
 
            if(settings.invertH) 
                var eqH = function(e) { 
                    return x0-(e.pageX - center.x)*settings.ratioH 
                } 
             
            else  
                var eqH = function(e) { 
                    return x0+(e.pageX - center.x)*settings.ratioH 
                } 
             
            if(settings.invertV) 
                var eqW = function(e) { 
                    return y0-(e.pageY - center.y)*settings.ratioV 
                } 
            else 
                var eqW = function(e) { 
                    return y0+(e.pageY - center.y)*settings.ratioV 
                }         
 
        } 
 
        $('html').on('mousemove', function(e) { 
 
                x = eqH(e) 
                y = eqW(e) 
 
                $(layer).css({top:y,left:x}) 
 
        }) 
 
    }; 
})(jQuery);
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2012, 20:02
Интересующийся
Отправить личное сообщение для raffx Посмотреть профиль Найти все сообщения от raffx
 
Регистрация: 14.05.2012
Сообщений: 20

Как выяснилось, привязки к разрешению нет. Однако видно, как скрипт смещает элемент (если обновить страницу предварительно отодвинув курсор мыши за пределы окна браузера, а потом подвигать мышью в окне).

Видимо это происходит из-за того, что скрипт при выполнении не учитывает предыдущие (выставленные в CSS) координаты объекта, а заменяет их своими координатами. Если это так, то как сделать, чтобы скрипт учитывал их?
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2012, 16:53
Новичок на форуме
Отправить личное сообщение для paul1g Посмотреть профиль Найти все сообщения от paul1g
 
Регистрация: 07.12.2012
Сообщений: 1

Нужна позиция, а не смещение

18 y0 = layer.offset().top,
19 x0 = layer.offset().left;

замени на

y0 = layer.position().top,
x0 = layer.position().left;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript + jQuery для начинающих видеоформате tamerlan_93 Общие вопросы Javascript 3 26.04.2011 01:04
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Проблемы с разрешением экрана gabin jQuery 5 27.05.2009 11:11
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37