位置不变

时间:2011-07-09 19:52:42

标签: javascript jquery html

我试图将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是与其父#contenido相对定位的div,它是绝对定位且为left 20px#portafolio留下15%。我不知道这是否有事可做。

1 个答案:

答案 0 :(得分:0)

Alice,我不确定你要做什么,但 if else 语句可能应该在'click()'处理程序中。像,

$("#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 }

});