Jquery 将偏移量设置为 0 不起作用

标签 jquery css jquery-ui

我有一个工具提示,只有在未选中复选框时才会在单击按钮时弹出。我正在使用 JQuery 设置按钮相对于标签的位置。如果复选框被选中,我将隐藏工具提示,然后在上述相同情况下显示它。

    $('#chkbox').change(function(){
        if(($('#chkbox').attr('checked')=="checked") && $('#tooltip').is(':visible')==true){
            $('#tooltip').hide();
        }
});

    $('#Button').click(function(){  
        if(!($('#chkbox').attr('checked')))
        {
            var lbloffset = $('#Label').offset();
            $('#tooltip').offset({top:0,left:0});
            $('#tooltip').offset({top:lbloffset.top-25,left:lbloffset.left+$('#Label').width()});
            $('#tooltip').show();

        }
    });

工具提示隐藏在选中的复选框上,但是当我再次取消选中它并单击按钮时,它应该在我正在清除的相同位置显示工具提示 $('#tooltip').offset({top:0,left:0 });位置并再次重置它。但这并没有发生,而是工具提示将新的偏移位置添加到旧偏移位置并将其显示在页面的其他位置。我不确定为什么会这样。

最佳答案

您只需要设置一次.offset。我不清楚你想要它去哪里,但也许这就是你想要的:

var lbloffset = $('#Label').offset();
$('#tooltip').offset({top:lbloffset.top-25,left:lbloffset.left+$('#Label').width()});

关于Jquery 将偏移量设置为 0 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15370114/

相关文章:

javascript - 多层视差背景

javascript - 使用 JavaScript 更新 Css 类

javascript - 加载时CSS淡入背景图像

jquery-mobile - 如何使用 jQuery 函数实现 jQuery Mobile 页面滑动?

css - 根据宽度更改 div 顺序

jquery - 在 jQuery UI AJAX 加载的选项卡上传递变量

java - 如何在其中任何一个 jqgrid 发生更改后重新加载页面上的所有 jqgrid

javascript - 动态更改可放置元素的 CSS

jquery - TinyMCE 从错误的目录加载 lang/plugins/theme

html - 有没有办法在CSS中计算?