jQuery照片伸縮效果不影響其他元素的布局
我也努力過(guò)自己嘗試著寫:
但只是單純的圖片放大,而且還影響了圖片周圍的元素的布局(因?yàn)閳D片放大占據(jù)了更大的空間)。
后來(lái)發(fā)現(xiàn)要靈活巧妙的運(yùn)用overflow和position這兩個(gè)屬性,就能達(dá)到目的。其實(shí)我覺(jué)得CSS(CSS3)中的overflow和position(順帶的top,bottom,left,right)簡(jiǎn)直是做網(wǎng)頁(yè)特效無(wú)解的組合,當(dāng)然還是js(jquery)是老大。
廢話說(shuō)了這么多,大家肯定還是很疑惑:這到底是什么特效呢?唉,我的語(yǔ)言表達(dá)能力還是很一般,下面我就截圖來(lái)說(shuō)明好了:
這個(gè)是網(wǎng)頁(yè)打開(kāi)的初始模樣:

當(dāng)把鼠標(biāo)停留在以上6張圖片的任意一張圖片的時(shí)候,會(huì)出現(xiàn)我所說(shuō)的特效(這里我把鼠標(biāo)放在第3張作為示例):

你會(huì)發(fā)現(xiàn)圖片是縮小了,鼠標(biāo)放開(kāi)圖片感覺(jué)又放大了(回到初始狀態(tài)),而沒(méi)有圖片溢出的現(xiàn)象,而且不影響其他圖片和元素的布局。
下面貼代碼了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery照片伸縮效果</title>
</head>
<!-- The Style -->
<style type="text/css">
*{
margin: 0;
padding: 0;
}
body{
font-family: "Myriad Pro", "Trebuchet MS", Helvetica, sans-serif;
font-size: 12px;
color: #fff;
}
#col {
width: 600px;
height:400px;
margin: 20px auto 0px auto;
border: 1px solid #2D353F;
}
.pic {
width: 200px;
height: 200px;
margin: 0px;
overflow: hidden;/*這邊定義了overflow為hidden*/
position: relative;/*這邊定義了position為relative,這其實(shí)是為了下面的img的position可以依照pic定位*/
float: left;
}
/*圖片的原始大小是500*333左右*/
/*這里并沒(méi)有對(duì)width寬度做文章,是對(duì)height高度做文章的*/
.pic a img {
height: 500px;
border: none;
position: absolute; /*正因?yàn)楦笜?biāo)簽定義了position,這邊img定義position才有定位依據(jù),要不然就是對(duì)于整個(gè)瀏覽器進(jìn)行定位*/
top: -66.5px;
left: -150px;
opacity: 0.5;
-moz-opacity: 0.5;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);/*這邊為了兼容瀏覽器,和opacity屬性的作用是一樣的*/
}
</style>
<!-- The JavaScript -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('#col img').hover(
function(){
var $this = $(this);
$this.stop().animate({'opacity':'1.0','height':'200px','top':'0px','left':'0px'});
},
function(){
var $this = $(this);
$this.stop().animate({'opacity':'0.5','height':'500px','top':'-66.5px','left':'-150px'});
}
);
});
</script>
<body>
<div id="col">
<div class="pic">
<a href="#">
<img src="Images/1.jpg"/>
</a>
</div>
<div class="pic">
<a href="#">
<img src="Images/2.jpg"/>
</a>
</div>
<div class="pic">
<a href="#">
<img src="Images/3.jpg"/>
</a>
</div>
<div class="pic">
<a href="#">
<img src="Images/4.jpg"/>
</a>
</div>
<div class="pic">
<a href="#">
<img src="Images/5.jpg"/>
</a>
</div>
<div class="pic">
<a href="#">
<img src="Images/6.jpg"/>
</a>
</div>
</div>
</body>
</html>
- jquery實(shí)現(xiàn)點(diǎn)擊向下展開(kāi)菜單項(xiàng)(伸縮導(dǎo)航)效果
- jQuery實(shí)現(xiàn)的動(dòng)態(tài)伸縮導(dǎo)航菜單實(shí)例
- JQuery伸縮導(dǎo)航練習(xí)示例
- jquery入門—編寫一個(gè)導(dǎo)航條(可伸縮)
- jquery實(shí)現(xiàn)可點(diǎn)擊伸縮與展開(kāi)的菜單效果代碼
- jquery實(shí)現(xiàn)選中單選按鈕下拉伸縮效果
- jQuery實(shí)現(xiàn)首頁(yè)頂部可伸縮廣告特效代碼
- jQuery使用一個(gè)按鈕控制圖片的伸縮實(shí)現(xiàn)思路
- 使用jQuery同時(shí)控制四張圖片的伸縮實(shí)現(xiàn)代碼
- JQuery 圖片的展開(kāi)和伸縮實(shí)例講解
- jquery實(shí)現(xiàn)頂部向右伸縮的導(dǎo)航區(qū)域代碼
相關(guān)文章
jQuery解析與處理服務(wù)器端返回xml格式數(shù)據(jù)的方法詳解
這篇文章主要介紹了jQuery解析與處理服務(wù)器端返回xml格式數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了jQuery基于ajax的get方法與后臺(tái)交互操作xml格式數(shù)據(jù)的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-07-07jQuery使用before()和after()在元素前后添加內(nèi)容的方法
這篇文章主要介紹了jQuery使用before()和after()在元素前后添加內(nèi)容的方法,實(shí)例分析了jQuery中before()和after()方法添加內(nèi)容的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03基于jquery實(shí)現(xiàn)的定時(shí)顯示與隱藏div廣告的實(shí)現(xiàn)代碼
有時(shí)候我們需要在jquery中要顯示與隱藏層,很簡(jiǎn)單的方法就是直接使用hide與show方法就可以了,但要定時(shí)我們需要結(jié)合setTimeout函數(shù)來(lái)實(shí)現(xiàn)2013-08-08jquery autocomplete自動(dòng)完成插件的的使用方法
最近剛開(kāi)始學(xué)jquery,想實(shí)現(xiàn)類似GOOGLE搜索時(shí)自動(dòng)顯示出相關(guān)結(jié)果的效果。于是選擇了使用jquery autocomplete插件。2010-08-08jQuery簡(jiǎn)單實(shí)現(xiàn)遍歷單選框的方法
這篇文章主要介紹了jQuery簡(jiǎn)單實(shí)現(xiàn)遍歷單選框的方法,涉及jQuery針對(duì)頁(yè)面表單元素的遍歷及事件響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-03-03jQuery自定義數(shù)值抽獎(jiǎng)活動(dòng)代碼
這篇文章主要為大家詳細(xì)介紹了jQuery自定義數(shù)值抽獎(jiǎng)活動(dòng)的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-06-06詳解jquery validate實(shí)現(xiàn)表單驗(yàn)證 (正則表達(dá)式)
本篇文章主要介紹了jquery validate實(shí)現(xiàn)表單驗(yàn)證 (正則表達(dá)式),用戶填寫表單時(shí),可以快速地對(duì)用戶填寫的數(shù)據(jù)進(jìn)行驗(yàn)證,并做出反饋。有興趣的可以了解一下。2017-01-01修改jquery里的dialog對(duì)話框插件為框架頁(yè)(iframe) 的方法
為什么我不直接用modal form來(lái)做呢?所以我就做了個(gè)jquery下面dialog的插件,需要引用原來(lái)dialog的文件。2010-09-09