我想知道如何创建Jquery Nivo滑块过渡效果,而不是创建整个插件。我试着使用CSS的clip
属性,但我无法让它创建图像的一部分淡出或逐块移动的效果,直到下一张幻灯片显示。
如果有人有一个一般的想法或具体的代码如何使过渡效果,这将是感激的谢谢。
总体思路如下:第一张图片上有div然后第二张图片上有很多div,通过调整css属性生成
每个第二个图像div只是一个小块的调整背景,所以它覆盖前一个图像,它的一部分
使用此方法,您可以以任何顺序生成您想要的任何效果。滑动,渐变,随机填充,任何
Html看起来像这样:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
<style type="text/css">
.first{
height:500px;
width:500px;
position: absolute;
background:url(1.jpg);
z-index: 2;
}
.second_part1{
height:50px;
width:50px;
position: absolute;
background:url(2.jpg) 0 0;
z-index: 2;
}
.second_part2{
height:50px;
width:50px;
position: absolute;
background:url(2.jpg) -50px 0;
left:50px;
z-index: 2
}
.second_part3{
height:50px;
width:50px;
position: absolute;
background:url(2.jpg) -200px -150px ;
left:200px;;
top:150px;
z-index: 2
}
</style>
</head>
<body>
<div class="first">
</div>
<div class="second_part1">
</div>
<div class="second_part2">
</div>
<div class="second_part3">
</div>
</body>
</html>
你也可以有另一个image2div,它将在你加载完所有的片段后显示。并在你显示它之后销毁所有的碎片
有很多方法可以在javascript上实现整个过程对于我来说,首先创建一个piece数组(array ofdiv)然后你可以创建任何你想要的效果,只要用不同的效果和不同的顺序来显示它们
我不知道nivo是否使用这种方式或其他方式,但这是有效的:)
刚刚通过谷歌找到解决我的NivoSlider问题的方法。
NivoSlider,基本上只是创建一些div元素作为图像替换,然后将图像URL用作背景图像,每个部分的背景位置不同,稍后将动画化:
// Set the slices size
var slice_w = $slider.width() / config.slices,
slice_h = $slider.height();
// Build the slices
for (var i = 0; i < config.slices; i++) {
$('<div class="slice" />').css({
'position':'absolute',
'width':slice_w,
'height':slice_h,
'left':slice_w*i,
'z-index':4,
'background-color':'transparent',
'background-repeat':'no-repeat',
'background-position':'-' + slice_w*i + 'px 0'
}).appendTo($slider);
}
// Change the background image when slideshow starts from here... etc etc...
这是我很久以前做的一个例子:http://reader-download.googlecode.com/svn/trunk/simple-useful-jquery-slideshow_nivo-slider-like-effect.html