jQuery实例:图片展示效果
2008-07-01 17:46
706 查看
#photoshow{border:solid1px#c5e88e;overflow:hidden;width:580px;height:169px;background:#c5e88e;position:absolute}
.photo{position:absolute;top:0px;width:490px;height:169px}
.photoimg{width:490px;height:169px}
.photospan{padding:5px0px0px5px;width:490px;height:30px;position:absolute;left:0px;bottom:-32px;background:black;opacity:0.5;color:#ffffff}
开始之前,我就喜欢先看一下效果:
张娜拉,韩国的
MyDigitalStory
不知道是什么图来的
我的Logo,Studio拼错了都不知道,汗一个。
四季图吧这是,但我分不清夏和秋
上面的链接是群上一位兄弟发的一个图片展示效果,并叹息道:jQuery什么时候才有这么cool的例子啊?
我想说jQuery写这样的例子不难吧,于是就尝试着写一下.
先看Html:
然后我们写一个CSS来控制一下这个HTML的样式,CSS比较菜,将就吧,达到效果就好:
$(document).ready(function(){ varimgDivs=$("#photoShow>div"); varimgNums=imgDivs.length;//图片数量 vardivWidth=parseInt($("#photoShow").css("width"));//显示宽度 varimgWidth=parseInt($(".photo>img").css("width"));//图片宽度 varminWidth=(divWidth-imgWidth)/(imgNums-1);//显示其中一张图片时其他图片的显示宽度 varspanHeight=parseInt($("#photoShow>.photo:first>span").css("height"));//图片介绍信息的高度 imgDivs.each(function(i){ $(imgDivs[i]).css({"z-index":i,"left":i*(divWidth/imgNums)}); $(imgDivs[i]).hover(function(){ //处理鼠标进入的时候 },function(){ //处理鼠标离开的时候 }); }); });
首先我们定义了一些变量,方便我们后面使用。
然后就是使用了一个each()的函数在每一个匹配的元素进行事件处理。这里是每一个<divclass="photo">元素分别进行事件的处理。
然后看一下下面这一句:
$(imgDivs[i]).css({"z-index":i,"left":i*(divWidth/imgNums),"top":"0px"});
这句是通过CSS来控制每一个图片的层次和显示位置。
然后就是用一个hover()函数来处理鼠标的hover事件。
首先看一下鼠标进入图片的时候该怎么处理:
//$(this).find("img").css("opacity","1");
$(this).find("span").stop().animate({bottom:0},"slow");
imgDivs.each(function(j){
if(j<=i){
$(imgDivs[j]).stop().animate({left:j*minWidth},"slow");
}else{
$(imgDivs[j]).stop().animate({left:(j-1)*minWidth+imgWidth},"slow");
}
});
},function(){
//处理鼠标离开时候的事件
});
这里注意一下就是在调用animate()函数前都调用了stop()函数。stop()函数是用来停止当前元素的所有执行中的事件。
j<=i的判断就是判断鼠标hover的当前图片和该图片前面的图片与该图片后面的图片的分割线。
鼠标离开的处理也差不多,下面之完整的代码:
varimgDivs=$("#photoShow>div");
varimgNums=imgDivs.length;//图片数量
vardivWidth=parseInt($("#photoShow").css("width"));//显示宽度
varimgWidth=parseInt($(".photo>img").css("width"));//图片宽度
varminWidth=(divWidth-imgWidth)/(imgNums-1);//显示其中一张图片时其他图片的显示宽度
varspanHeight=parseInt($("#photoShow>.photo:first>span").css("height"));//图片介绍信息的高度
imgDivs.each(function(i){
$(imgDivs[i]).css({"z-index":i,"left":i*(divWidth/imgNums)});
$(imgDivs[i]).hover(function(){
//$(this).find("img").css("opacity","1");
$(this).find("span").stop().animate({bottom:0},"slow");
imgDivs.each(function(j){
if(j<=i){
$(imgDivs[j]).stop().animate({left:j*minWidth},"slow");
}else{
$(imgDivs[j]).stop().animate({left:(j-1)*minWidth+imgWidth},"slow");
}
});
},function(){
imgDivs.each(function(k){
//$(this).find("img").css("opacity","0.7");
$(this).find("span").stop().animate({bottom:-spanHeight},"slow");
$(imgDivs[k]).stop().animate({left:k*(divWidth/imgNums)},"slow");
});
});
});
});
[/code]
[/code]
相关文章推荐
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果,非常cool
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- jQuery实例:图片展示效果
- 使用JS实现图片展示瀑布流效果的实例代码
- jQuery实现图片渐入渐出切换展示效果
- jquery的图片展示--卡牌翻转效果的代码示例
- jQuery Flux Slider 2D/3D 图片切换效果展示
- jQuery插件实例三:图片滚动[切换]效果一
- jQuery当鼠标悬停时放大图片的效果实例
- jquery仿凡客诚品图片切换的效果实例代码
- 基于jquery的图片展示--卡牌翻转效果