dav*_*ave 3 javascript jquery rollover fade hover
这不是特定问题或错误,而是更多的实现问题.
首先,我想说我已经经历了很多褪色的图像教程,并且我对不同类型有了基本的了解.我希望这不会与其他数百个关于淡化图像的问题一起被抛弃.
这基本上就是我想要的:使用javascript,最好是jQuery,在悬停时淡入另一个图像的图像.我会创建两个图像 - 一个名为image.jpg,另一个名为image_o.jpg.它们将驻留在同一文件夹中.
这是html标记的样子:
<img class="imghover" src="image.jpg" />
Run Code Online (Sandbox Code Playgroud)
javascript将要求我imghover在我想要悬停的所有图像上拥有该类.该脚本将检测命名的第二个图像,imghover_o.jpg并将其用于悬停淡入淡出过渡中的第二个图像.
没有必需的CSS或background-image过渡.
我将在网格中有几个这样的图像,他们都需要进行淡入淡出过渡.所以,你可以看到我不想为每个图像创建一个新的CSS类,或者有额外的脚本和html标记会变得很麻烦.
所有这些都是通过Daniel Nolan脚本减去淡入淡出过渡来实现的.该脚本只是交换图像没有淡入淡出,但它使用最少的代码完美设置.
所以你可以说我只想添加一个淡入淡出过渡到Daniel Nolan翻转脚本.有可能使用jQuery重制他的脚本吗?
这是可能的(使用jQuery)?
您可以获取src图像的属性并用于.replace()替换悬停时的网址!
$('.fadein').each(function() {
var std = $(this).attr("src");
var hover = std.replace(".jpg", "_o.jpg");
$(this).clone().insertAfter(this).attr('src', hover).removeClass('fadein').siblings().css({
position:'absolute'
});
$(this).mouseenter(function() {
$(this).stop().fadeTo(600, 0);
}).mouseleave(function() {
$(this).stop().fadeTo(600, 1);
});
});
Run Code Online (Sandbox Code Playgroud)
或者像:
$('.fadein').each(function() {
var std = $(this).attr("src");
var hover = std.replace(".jpg", "_o.jpg");
$(this).wrap('<div />').clone().insertAfter(this).attr('src', hover).removeClass('fadein').siblings().css({
position:'absolute'
});
$(this).mouseenter(function() {
$(this).stop().fadeTo(600, 0);
}).mouseleave(function() {
$(this).stop().fadeTo(600, 1);
});
});
Run Code Online (Sandbox Code Playgroud)
脚本的作用:
var std = $(this).attr("src"); 抓住SRC属性var hover = std.replace(".jpg", "_o.jpg"); $(this).wrap('<div />')src置于第一个图像的下方.clone().insertAfter(this).attr('src', hover) .removeClass('fadein').siblings().css({position:'absolute'});| 归档时间: |
|
| 查看次数: |
5805 次 |
| 最近记录: |