2012-01-05 3 views
0

Ищу какой-нибудь способ нажать на изображение или ссылку на Div, и она будет скользить в другой DIV без изменения высоты ... так что-то вроде нижеDiv Нажмите на изображение/Слайд в новый div с JQuery?

<div id="div1"> 
<img src="image.jpg" onclick="slide_to_other_div" /> 
</div> 

<div id="div2" style="display:none"> 
<p>Another Div Here</p> 
</div> 

Но я не хочу эффект аккордеона ... Я хочу скользить в Div2, не влияя на высоту?

Разъяснения далее ...

Предположим, у вас есть таблица>

<table> 
<tr> 
    <td id="div1"><a href="#div2">Slide to Div2 Direction --> </a></td> 
    <td> id="div2" style="display:none">This is Div 2</td> 
</tr> 
</table> 

Так, Div1 свитки боком к div2, когда я нажимаю на ссылку, чтобы div2

+0

Пожалуйста, уточните свой вопрос. Что вы подразумеваете под «без влияния на высоту»? Высота чего? 'Div'? Я вижу, что 'div2' скрыт; должен ли 'div1' скрываться после перемещения изображения? Что должно случиться с 'div' визуально? – PPvG

+0

Обновленный вопрос ... надеюсь, что это поможет – Satch3000

+0

Не совсем. Я собирался предложить что-то вроде [slifty's answer] (http://stackoverflow.com/a/8744864/990877), но ваш вопрос все еще слишком расплывчатый. Сожалею. – PPvG

ответ

2

Я не полностью уверен, что знаю, что вы хотите, но вот последовательность шагов, которые могут выполнить вашу цель?

  1. Рассчитать текущую высоту изображения и явно установить его так, чтобы он не изменился.
  2. Вычислить текущее абсолютное положение изображения
  3. Вычислить абсолютную позицию div2
  4. Detatch изображение из див1, установите его стиль будет позиция абсолютной с абсолютной позиции, рассчитанной ранее, и прикрепить его к телу
  5. анимировать верхний и левый свойства позиции, так это «скользит» на новое место
  6. Detatch изображение из тела, удалить абсолютные значения позиционирования, крепят его к div2, и показать div2

Это похоже на то, что вы ищете? Каждый из этих шагов может быть выполнен с помощью jquery.


EDIT: Теперь, когда я думаю, что я понять вас больше, вы, вероятно, ищет горизонтальной Accordian. Вы можете закодировать это с нуля, но я бы предложил посмотреть существующие решения, которые помогут вам (или просто использовать). Here - пример одного. Google «горизонтальный гармоник», чтобы найти больше, если это не устраивает вашу фантазию.

+0

Извините, я думаю, что говорить об изображении поставил всех на то, что мне нужно. Есть ссылка на Div 1, а Div 2 - скрытый div ... Когда я нажимаю на ссылку Div 1, она выполняет «Горизонтальную» прокрутку в Div B. Надеюсь, это поможет. – Satch3000

+0

Итак, вы ищете горизонтальный гармоник (например, что-то вроде этого: http://nicolahibbert.com/demo/liteAccordion/)? – slifty

+0

Почти, но не совсем. Мне нужно простое, чтобы иметь ссылку на Div 1 и ссылку на Div 2, где Div 2 заменит 100% пространство Div 1. – Satch3000

0

дополнительный HTML:

<a name="myAnchor"></a> 

JQuery:

$('#div1 img').click(function(){ 
window.location = "/currentpath_or_link#myAnchor"; 
}); 

Это не даст вам приятной анимации, но она доставит вас туда. Если вам нужна приятная анимация, вам понадобится функция scrollTo() , но я никогда не работал с этим.

+0

обновленное объяснение – Satch3000

Смежные вопросы