2011-07-09 27 views
1

我試圖移動div到一邊或另一邊取決於它的位置,但!無論我用什麼方法來擺脫它的位置,它都沒有真正改變。位置不變

var $ancho = $(document).width(); 
var $posP = $("#portafolio").offset().left; 
var $porP = Math.floor($posP * 100/$ancho); 

了var PORP保存div的(portafolio)位置的百分比現在

,portafolio的初始位置是13(%)

if($porP == '13') 
    { 


    $("#portafolio").mouseenter(function(){ 
      $("#imge").stop().fadeTo('500', 0.3, function() {});}); 

     $("#portafolio").mouseleave(function(){ 
      $("#imge").stop().fadeOut('500', function() {}); 
      }); 

    $("#portafolio").click(function(){ 

     $("#portafolio").animate({ 
     left: "+=87%",}, 
     { queue: false, duration: 900, easing:'swing' }); 
     $("#imge").fadeTo('500', 0.3, function() { 

      }); 

     $(iframe).attr('src','portafolio.html'); 
     $("#marco").fadeTo('500', 1 , function() {}); 
     $(iframe).open(); 


     }); 


    } 

但即使當我移動portafolio到右邊,在動畫功能中,porP var仍然顯示13,因此它永遠不會到達其他人

else 
    { move to the other side } 

我已經嘗試給點擊函數內的porP var分配一個新值,但無濟於事。它總是執行IF語句。

有人知道爲什麼值(porP)不會改變?以及我如何才能真正改變它以使其他人最終工作? 我到處搜索,並且用我對jquery非常有限的知識嘗試了所有想到的東西,並且無處可去。請!!

編輯// #portafolio是一個相對定位的div,它的父母#contenido是絕對定位的,並且是left 20px#portafolio剩下15%。我不知道這是否有什麼要做。

+0

您是否試過警告/控制porP的值以查看您獲得了所需的內容。 –

+0

是的,它總是給我13或從愛麗絲'&posP' – Alice

+0

得到的任何價值,你是否嘗試我的建議?我編輯它,以便每次點擊時更新$ porP。 – yitwail

回答

0

愛麗絲,我不知道你想要做什麼,但如果其他陳述或許應該是「點擊()」處理程序中。類似的,

$("#portafolio").click(function(){ 

var $ancho = $(document).width(); 
var $posP = $("#portafolio").offset().left; 
var $porP = Math.floor($posP * 100/$ancho); 

if($porP == '13') 
{ 

    $("#portafolio").animate({ 
    left: "+=87%",}, 
    { queue: false, duration: 900, easing:'swing' }); 
    $("#imge").fadeTo('500', 0.3, function() { 

     }); 

    $(iframe).attr('src','portafolio.html'); 
    $("#marco").fadeTo('500', 1 , function() {}); 
    $(iframe).open(); 

} 
else 
{ move to the other side } 

});