Javascript Css Tooltip who to Fix position 当页面结束时

标签 javascript html css tooltip

您好,我有用于 CSS 工具提示的休闲脚本和 html 代码。问题是工具提示跨度部分在页面结束时下降。如果页面结束,如何将位置更改为顶部

Javascript:

<script type='text/javascript'>
        var tooltips = document.querySelectorAll('.tooltip span');
        window.onmousemove = function (e) {
            var x = (e.clientX + 20) + 'px',
                y = (e.clientY + 20) + 'px';
            for (var i = 0; i < tooltips.length; i++) {
                tooltips[i].style.top = y;
                tooltips[i].style.left = x;
            }
        };

    </script>

样式:

.tooltip {
    cursor: help; 
    text-decoration: none;
    position: relative;
    }
.tooltip span {
    display:none;
}
.tooltip:hover span {
    display:block;
    position:fixed;
    overflow:hidden;
}


    .classic { padding: 0.8em 1em; }
    * html a:hover { background: transparent; }
    .classic {
    z-index:1000;
    border:1px solid #111;
    background-color:#221f28;
    position: fixed;
    padding:5px 5px 5px 5px;
    opacity:0.85;
    font:normal 10px Tahoma,Helvetica,sans-serif;
    text-align:center;
    color:#fff;
    font: 11px arial,sans-serif;    
     -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50)";

    }
    .tooltip h3,#tooltip div{margin:0;}

HTML部分

<td  class='tooltip' style='height:100px;width:140px;margin:0 auto;' >
    <a class='tooltip' href=''>
    <img  src="http://i45.tinypic.com/2lbmg04.png"><span class='classic'>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/>SomeText<br/></span>
    </a>

JSFiddle:https://jsfiddle.net/179uf3od/1/

最佳答案

您可以运行 if 语句来检查鼠标位置与页面末尾的距离,然后反转显示工具提示的位置。下面我正在检查鼠标光标是否在页面末尾的 100 像素范围内。

<script>

var tooltips = document.querySelectorAll('.tooltip span');
window.onmousemove = function (e) {
    var x, y;

    if( e.clientY > window.innerHeight - 100 ) {
        x = (e.clientX - 20);
        y = (e.clientY - 20);               
    } else {
        x = (e.clientX + 20);
        y = (e.clientY + 20);               
    }

    for (var i = 0; i < tooltips.length; i++) {
        tooltips[i].style.top = y + 'px';
        tooltips[i].style.left = x + 'px';
    }
};

</script>

关于Javascript Css Tooltip who to Fix position 当页面结束时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38110265/

相关文章:

javascript - jquery 自动完成下拉菜单是透明的

javascript - 如何创建if语句来处理html中的空字符串

css - 更改 Material-UI 概述的芯片焦点和悬停颜色

css - 旋转木马样式组件上的 React-spring useTransition 在过渡期间导致重叠

javascript - 有没有办法链接到外部网页上的特定段落?

javascript - 如何根据小时和分钟加载站点

javascript - Style.length 和 Style.width 不起作用

javascript - 从 HTML 字符串中提取样式

jquery - 通过按下按钮更改可拖动的背景颜色

javascript - 如何有条件地在 Angular 中包含脚本元素