我的目标是创建翻转文字显示小工具。当用户将鼠标悬停在图片上时,图片会淡化(不透明度被调低),然后会出现文本。当用户将鼠标悬停在图片外时,它会切换回正常状态(pciture的不透明度= 1,文本消失)。
我测试了我的早期版本,当悬停图片时,我没有看到任何文字出现。我跑过调试器并得到以下错误:
Uncaught TypeError: Object [object Object] has no method 'display'
我在JSFiddle中复制了我的小项目。如果有人可以帮助我的文本出现并删除错误,将不胜感激。谢谢!
答案 0 :(得分:1)
两件事:
display
.hovertext
范围不是.pic
的孩子,所以$('.hovertext', $(this))
,其中$(this)
是其中一个图像,不会选择任何内容。 答案 1 :(得分:1)
我认为你可以使用CSS3过渡来获得类似的效果:http://jsfiddle.net/derekstory/bzf6L/1/
img {
position: absolute;
opacity:1;
-webkit-transition: all .8s ease;
-moz-transition: all .8s ease;
-ms-transition: all .8s ease;
-o-transition: all .8s ease;
transition: all .8s ease;
}
img:hover {
opacity : .2;
}
span {
font-family:Arial, Verdana, sans-serif;
}
.hovertext {
position: aboslute;
text-align:center;
}
答案 2 :(得分:1)
您应该使用.fadeTo()
代替.slideToggle()
由于onhover
状态,它会自行切换:
$('.pic').hover(function() {
$(this).fadeTo(9);
//here is the place for the function to show the text.
});