2013-09-05 3 views
0

У меня есть div, который имеет 7 панелей, но показывает только 1 при использовании прокрутки. Моя проблема в том, как я начинаю на определенном расстоянии внутри div? Я искал некоторые решения, но не могу заставить их работать. Вот то, что я до сих пор:как вы устанавливаете позицию полосы прокрутки

JS

function olo() { 
    el = document.getElementById("overlimo"); 
    el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible"; 

    var targetXPos = 800; 
    $(document).ready(function() { 
     $('html, body').animate({ 
      scrollLeft: targetXPos 
     }, 900); 
    }); 
} 

HTML, CSS и длинны так, если вам нужно, чтобы увидеть их, я оставлю это на данный момент. Начальная функция olo() переходит к наложению. Поскольку каждая ссылка будет иметь свою отправную точку, мне нужно знать, как начать работу в определенной позиции.

Скажите, что мой начальный div имеет ширину 900 пикселей, а вся строка внутри этого div - 6300 пикселей. Мне нужно установить интервалы для остальных 6 панелей при нажатии: например. 900px в, 1800px в, 2700px в ... и т.д.

+0

Так что это проблема? Код не работает? Или вы не знаете, как установить targetxpos для всех div? – putvande

+0

Код не работает. Я думал, что var targetXPos будет работать, но он не начинается в div. – Keith

+0

Как выглядит HTML-код и CSS для этого бита? Возможно, попробуйте изменить: 'scrollLeft: targetXPos + 'px'' – putvande

ответ

2

вы пробовали:

var targetXPos = $(el).position().left; 

теперь, если вы используете нагрузку относительного или абсолютного позиционирования, вы, возможно, придется experiement между .position() и .offset() также код, вероятно, следует находиться внутри doc.ready

+0

пробовать разные вещи, пока не работает. – Keith

1

Как насчет использования scrollLeft на теле, а не через анимацию?

$(document).ready(function() { 
    $('body').scrollLeft(targetXPos); 
}); 

From the API Docs

+0

элемент скрыт, поэтому .scrollLeft не будет работать. Не думаю, что – Keith

+0

Ах - да, правильно. Если скрытый, не будет работать. Есть ли способ достичь желаемого эффекта, не скрывая элемент, когда установлена ​​позиция прокрутки? –