【问题标题】:Jquery UI draggable - Using percents instead of pixelsJquery UI 可拖动 - 使用百分比而不是像素
【发布时间】:2011-02-16 08:50:11
【问题描述】:


我有 jq-ui 可拖动的问题。

我将一个 DIV(在我的家用 PC 1680x1024 上)拖到右/下角并保存位置(左:125 像素;上:1536 像素;)。 一切正常。但是当我切换到我的上网本(1024x768)时,我得到了一个愚蠢的滚动条。问题是屏幕尺寸不同。

是否可以在 jquery ui draggable() 和 resizeable() 上使用百分比而不是像素?

提前致谢!
彼得

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-draggable


    【解决方案1】:

    您可以计算我的家用 PC 1680x1024 和位置(左:125 像素;上:1536 像素;)的总屏幕分辨率百分比,它将是宽度:125/1680 * 100 和高度:1536/1024 * 100 和然后在笔记本电脑中显示DIV,然后根据这些百分比计算新位置。

    附:我不确定您所说的正确位置是否应小于 1024(您的显示器高度)。

    【讨论】:

    • 感谢您的回答。工作正常:)
    【解决方案2】:

    试试这个:

    $("element").draggable({
        stop: function (){
         var l = ( 100 * parseFloat($(this).css("left")) / parseFloat($(this).parent().css("width")) )+ "%" ;
         var t = ( 100 * parseFloat($(this).css("top")) / parseFloat($(this).parent().css("height")) )+ "%" ;
         $(this).css("left" , l);
         $(this).css("top" , t);
         }
    
    });
    

    【讨论】:

    • 如果父级有一些计算的高度和宽度,效果很好,但是也许我建议宁愿使用position().left/top 而不是css("left/top")width/height() 而不是css("width/height")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多