给 layer.tips 加上 offset 功能

作者在 2023-07-13 23:35:43 发布以下内容
在 layer.js 文件最下面加上补丁代码:
(function () {
  old_layer_tips = layer.tips

  layer.tips = function(content, follow, options) {
    old_success = options['success'] || function (the_tips, index) {}

    options['success'] = function(the_tips, index) {
      if ('offset' in options) {
        var oldTop = parseFloat(the_tips.css("top").replace('px', ''));
        var oldLeft = parseFloat(the_tips.css("left").replace('px', ''));
        var offset = options['offset']
        var offsetTop = parseFloat(String(offset[0]).replace('px', ''));
        var offsetLeft = parseFloat(String(offset[1]).replace('px', ''));
        the_tips.css({
          top: `${oldTop + offsetTop}px`,
          left: `${oldLeft + offsetLeft}px`
        })
      }

      old_success(the_tips, index)
    }

    return old_layer_tips(content, follow, options)
  }
})(layer)
调用示例:
layer.tips('显示在目标元素上方', '#id', {
  tips: 1,
  offset: ['-50px', '100px']
});

作者在 2023-07-14 03:18:08 补充以下内容
补丁代码不一定非要加到 layer.js 中去,如果不想污染这个文件,也可以放在外面,可以放在任何地方,只要保证调用之前运行了补丁代码就行
WEB开发 | 阅读 451 次
文章评论,共0条
游客请输入验证码
浏览2802829次
文章归档