【问题标题】:Text hover jquery animation文字悬停jquery动画
【发布时间】:2014-12-29 06:34:52
【问题描述】:

我正在尝试为导航链接实现文本悬停效果,在 mouseenter 上,链接中的文本快速向上滑动(短暂消失),文本更改,然后向下滑动。在 mouseleave 时,原始文本会返回。

类似于以下网站导航链接:

http://wrapbootstrap.com/preview/WB08808B5

这是我尝试过的,似乎在 mouseenter 上触发了不止一次,并且动画从未像上面描述的那样执行:

<div class="navbar-right" >
    <ul class="nav navbar-nav" >
        <li><a href="#" class="link">Cars</a><span class="nav_anim">to drive</span></li>
        <li><a href="#" class="link">Wood</a><span class="nav_anim">to chop</span></li>
        <li><a href="#" class="link">steak</a><span class="nav_anim">to eat</span></li>
    </ul>
</div>

jQuery

var orig, anim;
$('.link').mouseenter(function () {
    orig = $(this).text();
    anim = $(this).parent().children('.nav_anim').text();
    $(this).stop(true,false).slideUp(300).text(anim).slideDown(300);
}).mouseleave(function(){
    $(this).stop(true,false).slideUp(300).text(orig).slideDown(300);
});

JSFiddle:http://jsfiddle.net/f0raekme/1/

【问题讨论】:

  • 为什么不只使用 CSS 呢? (过渡)
  • 那个网站有很多效果。你的问题不清楚。此外,如果该网站死亡,这个问题将变得过时......
  • @TJ 进行了相应的编辑。
  • 这是我尝试过的 - 有什么问题?
  • @Jared Farrish,上面详细描述的工作示例以及一个现场示例,在 JS Fiddle 中复制了问题。进一步编辑。

标签: jquery css jquery-ui css-transitions


【解决方案1】:
$("ul li").hover(
    function() {

        first = $(this).children('a.link');


        $(first).animate({
            marginTop: "-20px",
            opacity: '0'

        }, 300);

    },



    function() {

        $(first).animate({
            marginTop: "0px",
            opacity: '1'
        }, 300);

    }



);

而且,稍微改变了css:(固定高度)...

li {
    display:block-inline;
    float:left;
    border:1px solid grey;
    width:100px;
    height:20px;
    overflow:hidden;
    list-style-type:none;
    text-align:center;
}

演示:http://jsfiddle.net/f0raekme/3/

【讨论】:

  • 如果您格式化答案会很好......只是一个建议...... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多