美文网首页
手机端实现Tooltip (Hover)

手机端实现Tooltip (Hover)

作者: 壹只很拽的猫 | 来源:发表于2019-01-22 15:17 被阅读0次

首先参考了这篇文章:5行JS自定义title提示效果(Tooltip)

参考后实现如下:
Html: 用了angularjs的ng-repeat

<div id="question_{{$index}}" class="questiontext" tooltip-context="{{Qus.hover}}">{{Qus.qus}}</div>

css:

.questiontext{
    margin-left: 35px;
    padding-top: 2px;
    display: inline-block;
    min-width:400px;
}
[tooltip-content]{
    position:relative;
}
[tooltip-content]:after{
  content:attr(tooltip-content);
  position:absolute;
  left:0%;
  bottom:100%;
  visibility:hidden;
  max-width:600px;
  padding:1px 8px !important;
  border-radius:0;
  border:1px solid #888 !important;
  background:white;
  color:#666;
  box-shadow:5px 5px 5px -2px #888888;
}

[tooltip-content]:hover:after{
  transition-delay:100ms;
  visibility:visible;
  opacity:1;
}

然后发现iPhone手机点击后仍然不显示提示文字。
参考了这篇文章解决了问题。 苹果手机无法识别hover的解决方案

在html页面后面加上

var mobileHover = function () {
    $('*').on('touchstart', function () {
        $(this).trigger('hover');
    }).on('touchend', function () {
        $(this).trigger('hover');
    });
};

在实现过程中又找到了几个现成的插件亲测可用:
Microtip.css 纯css3 Tooltip工具提示样式
Hint.css 纯CSS实现的Tooltip提示 - Hint.css
纯css3 Tooltip工具提示样式
tootik

之前还尝试使用过jquery-ui的Tooltip,iPhone也是不好用但是发现这篇文章非常好。
解决 Jquery UI Tooltip 用在Select 的BUG

这是我用jquery-ui时的写法,因为给所有document都响应tooltip事件,导致只要有title的都会显示。

<div title="hover后显示的内容">文字文字文字 </div>
             $(function() {
                 $( document ).tooltip({
                     position: {
                        my: "left bottom-10",
                       my: "left bottom",
                         at: "left top"
                        // using: function( position, feedback ) {
                        //     $( this ).css( position );
                        //     $( "<div>" )
                        //         .addClass( "arrow" )
                        //         .addClass( feedback.vertical )
                        //         .addClass( feedback.horizontal )
                        //         .appendTo( this );
                        // }
                     }}
                 );}
             );

文章里这种改法可以过滤我们想要响应hover的到底是什么元素。

<body>
    <select id="Dropdown" data-title="TESTING">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
</body>

$('#Dropdown').tooltip({
    items: "[data-title]",
    content: function() { return this.getAttribute("data-title"); },
    position: {
        my: "left top",
        at: "right bottom+5"
    }
});
items: "[data-title]",
content: function() { return this.getAttribute("data-title"); },

这部分内容jQuery-UI 控件上是没有说的,非常有用。

这篇文章没细看
ontouchstart实现手机触屏中的hover效果

相关文章

  • 手机端实现Tooltip (Hover)

    首先参考了这篇文章:5行JS自定义title提示效果(Tooltip) 参考后实现如下:Html: 用了angul...

  • 【IE】element-ui table: show-overf

    在IE下,内容长度临界值时 ,出现省略号,但是鼠标hover不显示toolTip。

  • Css3 - transition(过渡)

    经常配合:hover、transform使用,实现属性过渡。 例子1:配合hover实现width,height及...

  • 移动端页面

    手机和PC端交互方式不一样,移动端多数没有hover,没有resize,没有滚动条,有touch 1、媒体查询 在...

  • tooltip实现

    生成tooltip完整流程:触发显示事件 -> 创建tooltip -> 调整tooltip位置 -> 添加动画 ...

  • CSS图片透明度

    opacity属性 利用opacity属性实现图片透明 hover属性 利用hover属性实现鼠标滑过,改变透明度...

  • 前端开发遇到的问题合集

    解决:hover 伪类在移动端二次点击的问题 用 css 写出的 hover 效果,在移动端,需要点击触发,但是在...

  • Element 的show-overflow-tooltip 的

    show-overflow-tooltip 属性可实现列内容过长被隐藏时显示tooltip的功能。 注:show-...

  • 移动端H5页面按钮btn点击效果

    在移动端上,一直想要实现与pc端一样,鼠标hover在按钮上的效果。然后移动端没有鼠标,取而代之的是使用activ...

  • Echarts tooltip formatter函数使用

    实现如上默认的tooltip样式,tooltip配置部分代码如下: 具体想获取的数据在params中查找,每次弹出...

网友评论

      本文标题:手机端实现Tooltip (Hover)

      本文链接:https://www.haomeiwen.com/subject/tnnljqtx.html