$('#myDiv')
.data('textToggle', 5)
.hover(function (e) {
var that = $(this);
// get the text from data attribute
var textToSet = that.data('textToggle');
// save the current text so it can be reverted
that.data('textToggle', that.text());
// set the new text
that.text(textToSet);
}, function (e) {
var that = $(this);
// get the text from data attribute
var textToSet = that.data('textToggle');
// save the current text so it can be reverted
that.data('textToggle', that.text());
// set the new text
that.text(textToSet);
});
9条答案
按热度按时间mznpcxlj1#
是的,你可以使用CSS
content
。要在普通文本和"回复!"之间切换,请将普通文本放在span
中,并在悬停时隐藏它。编辑:这在ie8下可以工作,但在它的兼容模式下不行,所以我假设ie7已经过时了。这会有问题吗?
envsm3lx2#
我认为这是一个简单的方法。在你的按钮中使用两个范围,一个是内容'x replies',一个是内容'Reply!'。使用CSS和:hover,你可以切换哪个范围显示在悬停状态。
这在任何事情上都很有效,因为它使用非常基本的东西来实现同样基本的目标。
0md85ypi3#
我将使用jQuery .hover()和jQuery .data():的组合
http://jsfiddle.net/5W4Bd/
超文本:
浏览器:
edit:可以随意重构用作两个hover回调的匿名函数,因为它们完全相同:)
f8rj6qna4#
我认为你可以使用这种函数,当你停止悬停时,你给 AJAX 调用你的评论id,它返回该评论的回复数,你可以决定如何存储/检索你的评论id。
smdnsysy5#
另一种方法是使用按钮创建两个范围,并为每个范围创建类。
将第二个空着,在css中,写上:
这与第一个答案类似,但这个答案并不总是适用于SASS或LESS这样的预处理器。
wfauudbj6#
在现代浏览器中,你也可以使用**:after**伪元素来改变悬停时的文本。
46scxncf7#
如果有人想在菜单链接上尝试相同的操作,(悬停时的不同语言文本):
suzh9iv88#
可能很简单:
v9tzhpje9#
最好改变Html中的内容。