css («Право», posVar);не работает - PullRequest
6 голосов
/ 06 января 2011

Основная цель здесь - сделать мгновенный «прыжок» вправо. Я не хочу использовать .animate(), потому что он производит небольшой "мигающий" эффект - потому что он не мгновенный. Я думаю .css() сделает мгновенный "прыжок" вправо, без эффекта мигания.

Я не знаю, почему это не сработает .. Вместо использования .css() мне действительно нужно обойти эту проблему с помощью .animate:

$("#gallery ul").animate({right: posVar},0);

Вот мой фактический код:

setTimeout(function(){
   var posVar = 2838;        
   $('#gallery ul').css("right", posVar);
}, 300);

Что с этим не так?

CSS:

#gallery ul {
  display:block;
  position:relative;
  width:14000px; /*auto calculated from javascript */
}

Ответы [ 4 ]

4 голосов
/ 06 января 2011

Вы имеете в виду position: absolute или position: fixed.Это будет работать с блоком отображения.

Я попробовал следующий код, и он работает:

setTimeout(function(){
    var posVar = 100;        
    $('#gallery ul').css({ right: posVar + 'px' });
},300);
4 голосов
/ 06 января 2011

Атрибуты Css: left, right, top, down не будут работать с display:block try display:absolute или display:fixed

Не знаюзнаю, что у меня на уме, когда я написал этот ответ.Я хочу сказать .... вам нужно position:absolute или position:fixed или position:relative

И я думаю, что проблема с вашим кодом в том, что в конце нет "px" ...

Я облажался, и вот оно http://jsfiddle.net/Starx/8w6cS/

Твой код работает здесь Доказательство

http://jsfiddle.net/Starx/8w6cS/1/


И ЕСЛИ ВЫ ПЫТАЕТСЯ СДВИГАТЬ СВОЙ * от 1031 * до 2838 пикселей вправо Вот ваше решение

http://jsfiddle.net/Starx/8w6cS/2/

2 голосов
/ 06 января 2011

должно работать. Вот jsFiddle с вашим примером кода, работающий нормально: http://jsfiddle.net/mathias/PjQBe/

Пожалуйста, предоставьте нам больше кода.

0 голосов
/ 25 ноября 2013

Измените CSS следующим образом:

#gallery ul {
    display:block;
    position:relative;
    right:0px; /*THIS WILL DO THE TRICK FOR JQUERY */
    width:14000px; /*auto calculated from javascript */
}

теперь ваш код jQuery будет работать!

...