复杂的 jQuery .hover 工作

发布于 2024-09-01 19:30:26 字数 523 浏览 7 评论 0原文

下面的代码给我带来了很多麻烦。需要注意的是,.hover 会更改背景图像。首先,如何将两者与 .hover 结合起来,而不是单独的 mouseenter 和 mouseleave ?其次,如何才能使div向上移动时,背景图像同时淡出?

$('div.designbox.orangehello').mouseenter(function() {
   $('div.designbox.orangehello').animate({
     top: '-=10',
   }, 55, function() {
     $(this).addClass('hover');
   });
 });

 $('div.designbox.orangehello').mouseleave(function() {
   $('div.designbox.orangehello').animate({
     top: '+=10',
   }, 55, function() {
     $(this).removeClass('hover');
   });
 });

The following code is giving me a lot of trouble. To note, .hover changes the background image. Firstly, how can I combine the two with .hover rather than a separate mouseenter and mouseleave? Second, How can I make it so that while the div is shifting upwards, the background image is simultaneously fading?

$('div.designbox.orangehello').mouseenter(function() {
   $('div.designbox.orangehello').animate({
     top: '-=10',
   }, 55, function() {
     $(this).addClass('hover');
   });
 });

 $('div.designbox.orangehello').mouseleave(function() {
   $('div.designbox.orangehello').animate({
     top: '+=10',
   }, 55, function() {
     $(this).removeClass('hover');
   });
 });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别低头,皇冠会掉 2024-09-08 19:30:26

要使用 .hover() 将两者结合起来,请执行以下操作

$('div.designbox.orangehello').hover(function() {
   $(this).animate({ top: '-=10' }, 55, function() {
     $(this).addClass('hover');
   });
}, function() {
   $(this).animate({ top: '+=10' }, 55, function() {
     $(this).removeClass('hover');
   });
});

:对于淡入淡出,您需要发布标记,您需要额外的

或包含其他背景的内容。

其他一些注意事项,您的动画参数有 { top: '-=10', } ...注意那些尾随的逗号,它们会给您带来麻烦,尤其是在 IE 中。另外,你里面有 $('div.designbox.orangehello') ,如果你要对其中很多进行动画处理,请将其改回来,但如果你想要当前的,只需使用 $( this) 就像我上面的那样。

To combine the two using .hover(), do this:

$('div.designbox.orangehello').hover(function() {
   $(this).animate({ top: '-=10' }, 55, function() {
     $(this).addClass('hover');
   });
}, function() {
   $(this).animate({ top: '+=10' }, 55, function() {
     $(this).removeClass('hover');
   });
});

As for the fading, you'll need to post your markup, you'll need an additional <div> or something containing the other background.

A few other notes, you have { top: '-=10', } for your animation arguments...watch out for those trailing commas, they'll give you trouble, especially in IE. Also, you had $('div.designbox.orangehello') inside, if you're animating lots of these, change this back, but if you want the current one only use $(this) like I have above.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文