jQuery在悬停时更新图像src
我不想在链接悬停之前加载图片,所以这是脚本,但它不起作用,有人可以帮我纠正吗?
我为每个链接添加了一个事件监听器,并在mouseover上调用了一个设置图像的函数。为了使事情变得更有趣,我们可以在这里复制lazyload并使用data-original属性:)
I don't want the images to load until the link is hovered, so for that here is the script but it's not working, can someone help me in correcting it? I added an event listener to each link, and on mouseover called a function that sets the image. To make things more interesting, we can copy lazyload a bit here and also use the data-original property :)
例如:这是HTML
代码:
For example: this is the HTML Code:
<li>
<a href="#" class="tip_trigger">
<img class="tip" alt="300 Grams"
data-original="https://lh5.googleusom/-qCRpw.../300%2520.jpg"
src='empty.gif' width="90" height="90"/>
Alex
</a>
</li>
然后,添加一个事件监听器:
Then, add an event listener:
代码:
// call for each element with the class 'tip' that's being hovered upon
$('.tip').hover(function()
{
// retrieve the image inside this element
var elem = $(this).find('img');
// set the 'src' to the 'data-original' value
elem.attr('src', elem.attr('data-original'));
});
对于现场演示,你可以看到这个页面 http://bloghutsbeta.blogspot.com/2012/04/testing-slidernav.html
上述部分脚本仅添加到'A'类别中的第一个字母ALEX。
for a live demo, you can see this page http://bloghutsbeta.blogspot.com/2012/04/testing-slidernav.html the above part of script is only added to the first letter ALEX in 'A' Category.
.tip
已经是图像,因此您无法找到 $(this)的图像.find('img');
.tip
is already the image so you cannot find an image with $(this).find('img');
尝试改为
$('.tip_trigger').hover(function()
{
// retrieve the image inside this element
var elem = $(this).find('img');
// set the 'src' to the 'data-original' value
elem.attr('src', elem.data('original'));
});
还使用 .data()
方法代替 .attr()