2013-04-05 3 views
-4

У меня есть сайт, где есть всплывающее окно справа. и нажмите кнопку. Мой запрос заключается в том, что если я нажму на эту кнопку, то всплывающие окна придут влево, и если я снова нажму на эту кнопку, то всплывающее окно вернется в предыдущее место, я имею в виду право. это как slideToggle. Я попробовал что-то. но он приходит только влево, но он не возвращается. Как это сделать ?jQuery help wanted ...

<script> 
function goto(){  
    //animate to the div id. 
    $(".pop_up").animate({"left": -($(id).position().left)}); 

} 
$(document).ready(function(){ 
    $(".red_sec").click(function(){ 
    $(".pop_up").animate({left:'-560px'}); 
    }); 
}); 
</script> 

Извините за плохой английский навык.

Благодаря

+5

Вы определите 'функцию goto', но не использовать его, и вы никогда не кажется, пытаются чтобы вернуть его обратно. Это похоже на очень несерьезную попытку. –

+0

На самом деле я новичок в javascript/jQuery. Я просто пытаюсь учиться. Спасибо за ваше предложение @Kolink –

+0

Вам не следует использовать jQuery, пока вы, по крайней мере, не будете достаточно компетентны с JavaScript. –

ответ

0

Попробуйте этот код, это даст toggle effect.

$(document).ready(function(){ 
    $(".red_sec").click(function(){ 
     $(".pop_up").animate({'left': ($(".pop_up").position().left == -560)?100:-560}); 
    }); 
}); 

Fiddle

+0

Большое спасибо Раджапрабху. он отлично работает. –

0

Держите это просто, я бы сказал. Обеспечить .pop_up элемент с data-attribute и использовать его, чтобы определить, каким образом анимация должна идти:

function goto(){  
    var direction = $(".pop_up").attr('data-lr'); 
    $(".pop_up").animate({left: direction}); 
    $(".pop_up").attr('data-lr',direction === '+=100' ? '-=100' : '+=100'); 

} 

$(".red_sec").click(goto); 

Вот jsFiddle

+0

Спасибо каждому телу. Задача решена :) –