改变div的位置

时间:2014-05-22 15:19:53

标签: javascript jquery position css-position positioning

看一下这个Fiddle(告诉一切)。 我只想将.app置于a位置。我已经定义了小提琴中的超链接,关于.app应该出现在哪里,并为每个超链接提供id,但因为这些ID不在我的网站中。因为我必须找到超链接的位置并相应地定位.app,以便它不会使body显示scrollbar,就像在这种情况下....任何人都可以定位{ {1}}相应的?

.app

2 个答案:

答案 0 :(得分:1)

你可以找到解决方案。它并不完美,并没有覆盖每一个案例,但只是问题"出现在顶部",但它很容易修复其余的......

$('a').mouseover(function(){               

    $('.app').css({
        top : ((  $(this).position().top + $('.app').height() + 5)>$(window).height())?   
               $(this).position().top - $(this).height() -$('.app').height() - 5:
               $(this).position().top + $(this).height() + 5,
        left : $(this).position().left + $(this).width()/2
    }).show();
}).mouseout(function(){
    $('.app').hide();
});

答案 1 :(得分:0)

$('a').mouseover(function () {

    $('.app').css({
        top: (($(this).position().top + $('.app').height() + 5) > $(window).height()) ? $(this).position().top - $(this).height() - $('.app').height() - 5 : $(this).position().top + $(this).height() + 5,
        left: (($(this).position().left + $(this).width() / 2 + $('.app').width()) > $(window).height()) ? $(this).position().left - $(this).width()/2 - $('.app').width()/2 : $(this).position().left + $(this).width()/2
    }).show();
}).mouseout(function () {
    $('.app').hide();
});

这段代码完成了工作!

http://jsfiddle.net/DT7Us/2/ -DEMO