2012-01-29 54 views
0

如何用鼠標懸停而不是重複自己,用另一個文本替換「home」按鈕?懸停滾動文本div並返回第一個元素

<ul class="topnav"> 
<li><a href="#">Home</a></li> 
</ul> 


jQuery(function($) { 

    $('.topnav li').find('a[href]').parent().each(function(span, li){ 
     li = $(li); span = $('<span>' + li.find('a').html() + '<\/span>'); 
     li.hover(function(){ 
     span.stop().animate({marginTop: '-60'}, 250); 
     }, function(){ 
     span.stop().animate({marginTop: '0'}, 250); 
     }).prepend(span); 
    }); 

}); 

這裏是例子:http://jsfiddle.net/fxdigi/3YNHp/1/

+0

其撥弄工作,除非你想要什麼? – diEcho 2012-01-29 09:56:30

+0

這個怎麼樣:http://jsfiddle.net/3YNHp/7/ – diEcho 2012-01-29 10:48:56

+1

@diEcho謝謝隊友。我知道這一點,但希望懸停時用文本進行切換,以便兩個不同的文本浮動。 – 2012-01-29 12:27:10

回答

1

檢查我的變種http://jsfiddle.net/3YNHp/5/

它使用的標記:

<ul class="topnav"> 
    <li> 
     <a href="#" data-hover-text="Mohe">Home</a> 
    </li> 
</ul> 

而改變的javascript:

$('.topnav li').find('a[href]').parent().each(function() { 
    var li = $(this), 
     a = li.find('a'), 
     span = $('<span>' + a.data('hover-text') + '<\/span>'); 

    li.hover(function() { 
     a.stop().animate({marginTop: '-64'}, 250); 
    }, 
    function() { 
     a.stop().animate({marginTop: '0'}, 250); 
    }) 
    .append(span); 
}); 
+0

@ dfsq輝煌的我的朋友。這正是我所期待的。感謝億。 – 2012-01-29 12:28:04

0

你需要做的就是把你想顯示懸停文字的錨怎麼開始的,象這樣

<ul class="topnav"> 
<li data-orig="Home"><a href="#">Go to</a></li> 
</ul> 

然後在一個數據屬性放置你想要顯示的文本。

然後稍微修改javascript以提取新值。

jQuery(function($) { 

    $('.topnav li').find('a[href]').parent().each(function(span, li){ 
     li = $(li); span = $('<span>'+ li.attr('data-orig') +'<\/span>'); 
     li.hover(function(){ 
     span.stop().animate({marginTop: '-60'}, 250); 
     }, function(){ 
     span.stop().animate({marginTop: '0'}, 250); 
     }).prepend(span); 
    }); 

}); 
+0

非常感謝。這也適用。我只需要在懸停時重新調整第二個對象的背景。乾杯。 – 2012-01-29 12:31:46

+0

嗨,隊友,我只是做了一些修改,以便它可以滾動div而不是span。我希望任何人都覺得它有用。感謝您的幫助 這裏是代碼:http://jsfiddle.net/fxdigi/ZhUx8/ – 2012-01-29 14:08:05

相關問題