Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DIV的相对定位_Javascript_Jquery - Fatal编程技术网

Javascript DIV的相对定位

Javascript DIV的相对定位,javascript,jquery,Javascript,Jquery,有一个名为“dvUsers”的div。有一个锚标签“lnkUsers” 当点击anchortag时,div必须像其下方的弹出div一样打开 此外,divs的相对位置应保持在“窗口大小”和“全部”位置。 如何使用javascript/jquery实现这一点 $(document).ready(function(){ $("#lnkUsers").click(function(){ $("#dvUser").show("slow"); }); style=“display:none”应首先应用于d

有一个名为“dvUsers”的div。有一个锚标签“lnkUsers”

当点击anchortag时,div必须像其下方的弹出div一样打开

此外,divs的相对位置应保持在“窗口大小”和“全部”位置。 如何使用javascript/jquery实现这一点

$(document).ready(function(){ $("#lnkUsers").click(function(){ $("#dvUser").show("slow"); });
style=“display:none”应首先应用于dvUser,以使其不可见


style=“display:none”应首先应用于dvUser,以使其不可见。

也许您应该寻找一个预制作的脚本,如overLIB:!-)

也许您应该寻找一个预制脚本,如overLIB:!-)

我倾向于将这两个元素都放在父div中,如下所示:

<div id="container">
    <a id="lnkUsers" href="#">Users</a>
    <div id="dvUsers" style="display: none;">
        <!-- user content... -->
    </div>
</div>
这可确保div相对于链路正确定位。(为了解决这个问题,我假设父div是“text align:left”或浮动的)

javascript的外观如下所示:

$(function(){
    $('#lnkUsers').click(function(){
        $('#dvUsers').slideToggle();
    });
});

我倾向于将这两个元素都放在父div中,如下所示:

<div id="container">
    <a id="lnkUsers" href="#">Users</a>
    <div id="dvUsers" style="display: none;">
        <!-- user content... -->
    </div>
</div>
这可确保div相对于链路正确定位。(为了解决这个问题,我假设父div是“text align:left”或浮动的)

javascript的外观如下所示:

$(function(){
    $('#lnkUsers').click(function(){
        $('#dvUsers').slideToggle();
    });
});

您可以使用jQuery插件

HTML:


以下是可以使用jQuery插件的

HTML:

这是你的电话号码

jQuery(function($) {
    var $popup = $('#dvUsers');
    var $infoField = $popup.find('.dynamicInfo');

    function showPopup(event) {

        // set content
        $infoField.text('clicked link: ' + $(this).text());

        // reset position
        $popup.show().css({top: 0, left: 0});

        // calculate new position
        var calculator = new $.PositionCalculator({
            item: $popup,
            itemAt: "top left",
            target: this,
            targetAt: "bottom left",
            flip: "both"
        });
        var posResult = calculator.calculate();

        // set new position
        $popup.css({
            top: posResult.moveBy.y + "px",
            left: posResult.moveBy.x + "px"
        });

        // window resize handler
        $(window).off('resize.dvUsers');
        $(window).on('resize.dvUsers', function(event) {
            $popup.css({top: 0, left: 0});
            var newResult = calculator.resize().calculate();
            $popup.css({
                top: newResult.moveBy.y + "px",
                left: newResult.moveBy.x + "px"
            });
        });
    }

    // add click handler for show and hide
    $('.lnkUsers').on('click', showPopup);
    $popup.on('click', function() {
        $popup.hide();
        $(window).off('resize.dvUsers');
    });
});