首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整jQuery大小到自动脚本工作..。在所有链接上

调整jQuery大小到自动脚本工作..。在所有链接上
EN

Stack Overflow用户
提问于 2015-05-28 17:16:47
回答 1查看 27关注 0票数 0

我正试图获得一个滚动脚本,以调整我的社交网络链接大小从一个32 to平方图标到相同的图标,加上尾随地址。所以如果我在我的Facebook链接上徘徊,链接就会从

[f] [t] [g]

[f /facebookpage] [t] [g]

推特会从

[f] [t] [g]

[f] [t @twitter] [g]

下面是我使用的脚本:

代码语言:javascript
复制
$(function(){
    var network = $('.social-networks li a'),
    animateTime = 75,
    navLink = $('.social-networks li a');
    navLink.hover(function(){
        if(network.width() === 32){
            autoWidthAnimate(network, animateTime);
        } else {
            network.stop().animate({ width: '32' }, animateTime);
        }
    });
})
function autoWidthAnimate(element, time){
    var curWidth = element.width(), // Get default width
    autoWidth = element.css('width', 'auto').width(); // Get auto width
    element.width(curWidth); // Reset to default width
    element.stop().animate({ width: autoWidth }, parseInt(time)); // Animate to auto width
}

在单个图标上,我显然没有问题,但是当我有多个图标时,它会调整它们的大小。我尝试过$(this).find('.social-networks li a'),但这没有起作用(返回相同的东西),而$(this).children('.social-networks li a')什么也不做。是否有一种选择特定元素的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-28 17:25:25

在您的悬停函数中,您应该将$(this)动画化,而不是缓存网络。此变量将引用悬浮元素,然后将其包装在jquery对象中以使用jquery动画。您的网络变量可能是包含所有社交图标的数组。

代码语言:javascript
复制
$(function(){
                var network = $('.social-networks li a'),
                    animateTime = 75,
                    navLink = $('.social-networks li a');
                navLink.hover(function(){
                    var $this = $(this);
                    if($this.width() === 32){
                        autoWidthAnimate($this, animateTime);
                    } else {
                        $this.stop().animate({ width: '32' }, animateTime);
                    }
                });
              })
              function autoWidthAnimate(element, time){
                  var curWidth = element.width(), // Get default width
                      autoWidth = element.css('width', 'auto').width(); // Get auto width
                  element.width(curWidth); // Reset to default width
                  element.stop().animate({ width: autoWidth }, parseInt(time)); // Animate to auto width
              }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30513071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档