-->

jQuery的:如何在悬停的div边框半径和边距添加过渡?(jQuery: How to add t

2019-10-17 08:33发布

语言: 使用Javascript / jQuery的 / PHP

我试图完成,类似于您在本页面的气泡看到悬停效果:
https://www.vizify.com/rand-fishkin

我一直在使用CSS3实现类似的效果,但过渡不是该网页上的一个光滑,所以我使用Javascript,而不是选择。

我在做什么这里是我增长10%的股利泡沫的宽度和高度徘徊时

但我不知道如何调整按百分比边界半径保证金

$(".colored-bg").each(function() {
    $.data(this, 'size', { width: $(this).width(), height: $(this).height() });
}).hover(function() {
    $(this).stop().animate({ height: $.data(this,'size').height*1.1, 
                         width: $.data(this,'size').width*1.1,
                         margin: '-13.5px auto' });
}, function() {
$(this).stop().animate({ height: $.data(this,'size').height, 
                         width: $.data(this,'size').width,
                         margin: '-13.5px auto' });
});

在悬停:

  • 我想使气泡保持轮来调节边界半径盘旋即使当(1/2数目从悬停DIV尺寸的高度/宽度的像素)

  • 我想改变保证金1/8负像素(悬停DIV的大小) - 动态 - 徘徊时,这样的股利保持垂直居中(这样,当它生长,它就不是简单地扩大向下)。

够哇哇哇, 这里是一个演示反映什么我迄今所做。

目前,我公司采用300像素(比格本身大)固定边界半径,以保持DIV圆角甚至徘徊的时候,和我改变以静态方式保证金(不基于百分比)。

自从我加入由基于百分比的成长过渡,我不能做一个静态边框半径或静态利润率悬停股利。

我的问题是, 如何按比例指定边界半径和利润?

如果这是你如何通过10%扩大宽度: width: $.data(this,'size').width*1.1
你如何在当前高度的1/8设定的保证金?

:我已经在这个职位那种做我想要的东西绊倒https://stackoverflow.com/a/3630768/1399030 (分割和基于百分比输出)

非常感谢,所有的援助非常感谢!

Answer 1:

爱,

尝试这个:

$(".bubble").on('scale', function(e, s) {
    var data = $.data(this, 'size'),
        w = data.width,
        h = data.height;
    $(this).stop().animate({
        width: w * s,
        height: h * s,
        marginLeft: data.marginLeft - w * (s-1) / 2,
        marginTop: data.marginTop - h * (s-1) / 2
    });
}).each(function() {
    var $this = $(this);
    $.data(this, 'size', {
        width: $this.width(),
        height: $this.height(),
        marginLeft: parseInt($this.css('margin-left')),
        marginTop: parseInt($this.css('margin-top'))
    });
}).hover(function() {
    $(this).trigger('scale', [1.1]);
}, function() {
    $(this).trigger('scale', [1.0])
});

DEMO

笔记

  • 通过提供在样式表(例如,等于宽度)的过度边界半径,圆度是保证(?),而无需按比例绘制的。 我认为这会工作在所有浏览器,但需要检测。
  • 为了避免代码的重复,我实现缩放算法作为自定义事件“缩放”的处理程序。
  • 余量缩放保持气泡集中在其原来的中心。
  • 您将在泡沫被包裹在一个预留空间到其中的泡沫可以扩大静态容器中的演示中看到。 这将防止整个页面需要回流随着气泡的增长/收缩。 其他可用的方法,例如绝对定位。


文章来源: jQuery: How to add transition on hover, div's BORDER-RADIUS & MARGIN?