jQuery点击叠加效果
我正在尝试使用 StackOverflow 上发现的 jQuery 效果( jQuery 图像悬停颜色叠加 ) 在我的 HTML 模板中的列表中。效果有效,但不幸的是,该链接不再点击进入下一页。
HTML 标记是...
<ul class="rollover-effect">
<li><a href="page.html"><img src="image.jpg" alt="Image Title" /></a></li>
<li><a href="page.html"><img src="image.jpg" alt="Image Title" /></a></li>
<li><a href="page.html"><img src="image.jpg" alt="Image Title" /></a></li>
</ul>
...我的 jQuery 读取...
jQuery('ul.rollover-effect a').bind('mouseover', function(){
jQuery(this).parent('li').css({position:'relative'});
var img = jQuery(this).children('img');
jQuery('<div />').text(' ').css({
'height': img.height(),
'width': img.width(),
'background-color': 'black',
'position': 'absolute',
'top': 0,
'left': 0,
'opacity': 0.0,
'cursor': 'pointer'
}).bind('mouseout', function(){
jQuery(this).fadeOut(200, function(){
jQuery(this).remove();
});
}).insertAfter(this).animate({
'opacity': 0.40
}, 200);
});
任何人都可以看到或知道为什么会这样吗?我希望能够点击进入下一页。烦死我了!谢谢。
I'm trying to use a jQuery effect as spotted here on StackOverflow ( jQuery image hover color overlay ) on a list in my HTML template. The effect works, but unfortunately the link no longer clicks through to the next page.
The HTML Markup is...
<ul class="rollover-effect">
<li><a href="page.html"><img src="image.jpg" alt="Image Title" /></a></li>
<li><a href="page.html"><img src="image.jpg" alt="Image Title" /></a></li>
<li><a href="page.html"><img src="image.jpg" alt="Image Title" /></a></li>
</ul>
...and my jQuery reads...
jQuery('ul.rollover-effect a').bind('mouseover', function(){
jQuery(this).parent('li').css({position:'relative'});
var img = jQuery(this).children('img');
jQuery('<div />').text(' ').css({
'height': img.height(),
'width': img.width(),
'background-color': 'black',
'position': 'absolute',
'top': 0,
'left': 0,
'opacity': 0.0,
'cursor': 'pointer'
}).bind('mouseout', function(){
jQuery(this).fadeOut(200, function(){
jQuery(this).remove();
});
}).insertAfter(this).animate({
'opacity': 0.40
}, 200);
});
Can anybody see or do they know why this might be? I want to be able to click through to the next page. It's bugging me! Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我可以在没有任何测试的情况下快速判断,点击事件被您的覆盖层捕获,并且不会冒泡到链接元素,因为覆盖层不是链接的子元素。
作为补偿,您可以将单击处理程序绑定到覆盖层,从而触发链接上的单击事件。
So far as I can tell quickly without any testing, the click events are being captured by your overlay, and not bubbled up to the link element because the overlay is not a child of the link.
To compensate, you could bind a click handler to the overlay which triggers a click event on the link.
您的代码对我来说工作正常(在 firefox 和 ie8 上测试)。
我很怀疑,因为您已指向三个超链接的同一页面。这可能会让您感到困惑,因为它没有重定向到下一页。
更改三个链接的超链接文件名并再次测试它。
Your code is working fine for me (Tested on firefox & ie8).
Am doubted, since you have pointed to same page for three hyperlinks. This might you confused to see that it is not redirecting to next page.
Change the hyperlink filename for three links and test it, once again.