Javascript DIV的相对定位
有一个名为“dvUsers”的div。有一个锚标签“lnkUsers” 当点击anchortag时,div必须像其下方的弹出div一样打开 此外,divs的相对位置应保持在“窗口大小”和“全部”位置。 如何使用javascript/jquery实现这一点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
$(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');
});
});