我试图将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%。我不知道这是否有事可做。
答案 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 }
});