如何更换" home"当我将鼠标悬停在它上面而不是重复自己时,用另一个文本按钮?
<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);
});
});
答案 0 :(得分: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);
});
答案 1 :(得分: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);
});
});