【发布时间】:2013-10-20 00:43:22
【问题描述】:
请查看http://users.sch.gr/ellhn/。该页面背后的HTML代码如下:
#squared1.over {
background: green;
cursor: pointer;
}
#squared2{
position: absolute;
left: 250px;
cursor: pointer;
}
</style>
</head>
<body>
<img src="img/squared1.png" id="squared1" width="195" height="147" class="rollover">
<img src="img/squared1.png" id="squared2" width="195" height="147"
class="rollover">
<script src="js/shaperollover.js"></script>
<script>
$( "#squared2" ).hover(
function() {
$( this ).animate( { left:300 }, 500 );
},
function() {
$( this ).animate( { left:250 }, 500 );
}
);
</script>
</body>
</html>
我要疯了。我没有办法让这个该死的透明背景消失。问题当然是(正如您在页面上看到的那样)悬停效果开始于可见部分之外导致透明背景。在第一张图片中,通过应用 Javascript 插件(称为 shaperollover.js),效果从正确的位置开始,但这仅通过 css 属性(#squared1.over - 老实说我不知道这个 over 属性)是正确的。不幸的是,Jquery 悬停或鼠标悬停功能将整个图片与背景一起考虑,它的工作方式与第二个一样。
有没有办法将这个 over 属性嵌入到 jquery 中,或者有什么方法可以从这个插件中受益?我想在悬停时添加动画,这仅通过纯 CSS 是不可能的。或者更简单的我不知道制作没有背景的图片? 非常感谢
【问题讨论】:
-
你考虑过制作 CSS3 图形吗?
-
当您将鼠标悬停在第二张图片上时,您是否尝试保持绿色背景?我不清楚你的解释。
-
我希望只有当鼠标悬停在图像的可见部分而不是透明部分时才会触发悬停。
标签: javascript jquery css