javascript - 如果向下滚动,弹出位置会改变

标签 javascript jquery html css

我有一个弹出的div,它是在点击图片时显示的,我想在点击的地方显示div。现在只有当页面处于默认位置时才有效,即不滚动或不缩放。如果滚动或缩放,则弹出窗口的位置正在改变。

普通弹窗

enter image description here

没关系。

现在,当我向下滚动页面并单击齿轮图像(设置)时。是这样的。

enter image description here

请查看页面滚动和问题。另一个是当我缩放它时。如果放大它像:

enter image description here

我的 js 是:

$('.settings img').live('click', function (event) {
            $('.set_pop').css('left',event.pageX);     
            $('.set_pop').css('top',event.pageY);
            $('.set_pop').css('display','inline');     
            $(".set_pop").css("position", "fixed");  
            $(".set_pop").show();
        });

我的 css: 和蓝色(标题)它的位置是固定的

.settings{
                float:right;
                margin-right: 3%;
                border: none;
                margin-top: 5px;
                cursor: pointer;

            }
            .set_pop{
                position:absolute;
                margin-right: 50px;
                margin-top:10px;
                width:100px;
                -webkit-box-shadow: #666 0px 2px 3px;
                -moz-box-shadow: #666 0px 2px 3px;
                box-shadow: #666 0px 2px 3px;
                border-radius:5px;
                -moz-border-radius:5px;
                -webkit-border-radius:5px;
                z-index:10;
                background-color: #ffffff;
                color:#000;
            }

html

<div class="settings">
             <img src="images/setting.png" alt="settings" width="30px" height="30px"/>
               <div class="set_pop">
                   <ul class="strip">
                       <li onclick="location.href='register'">Manage Users</li>
                   <li>test</li>
                   <li>test</li>
                   <li>test</li>
                   </ul>
            </div>
         </div>

抱歉发布了所有内容,实际上我无法解决问题,我尝试了各种脚本并更改了所有位置。我希望这里有人可以帮助我。

感谢和问候

最佳答案

将您的类(class)更改为:

.set_pop {
background-color: #FFFFFF;
border-radius: 5px 5px 5px 5px;
box-shadow: 0 2px 3px #666666;
color: #000000;
margin-right: 50px;
margin-top: 10px;
position: fixed;
width: 100px;
z-index: 10;
top: 40px;
z-index: 10;

我所做的是,我将 position: absolute; 更改为 position: fixed; 并添加了“top”和“right”以正确定位它。您可以相应地更改顶部/右侧。

  • 相对于文档显示绝对值(或者如果在另一个文档中 元素是相对于该元素的,只要它不是静态的)

  • Relative 相对于文档,但可以使用 top bottom left & right 属性并随页面滚动

  • Fixed 固定显示在浏览器窗口中,因此不会 滚动,但如果您调整窗口大小时移动

For detailed explanation, click here

关于javascript - 如果向下滚动,弹出位置会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16185848/

相关文章:

JavaScript + Drupal

javascript - 如何将 Javascript 数组发布到 C# 元组列表?

html - 奇怪的WebRTC SinkID问题

html - 通过 css 选择链接

javascript - 为什么我必须单击两次才能使用 jquery 显示 Div?

javascript - 在移动设备上,localStorage 在执行其他操作几分钟后会被删除

javascript - 如何将数组传递到 ajax 调用中?

javascript - dojo图表高度和宽度问题

jquery - 使用Jquery,点击了哪个<a>标签

html - p 标签中的文本不会换行