jQuery實(shí)現(xiàn)切換頁面布局使用介紹
更新時(shí)間:2011年10月09日 00:01:41 作者:
在很多網(wǎng)站尤其在一些購物網(wǎng)站上,展示商品的列表頁提供了許多商品,用戶可以選擇商品的展示方式如列表方式展示和櫥窗方式展示等。在本例中,將給您講述如何實(shí)現(xiàn)這種效果
查看實(shí)例:DEMO 演示打包下載
XHTML
<a href="#" id="switch">切換布局</a>
<div id="demo" class="showlist">
<div class="list">
<h3><a href="#">文章標(biāo)題</a></h3>
<p>文章摘要</p>
</div>
...
</div>
XHTML結(jié)構(gòu)中,在#demo中放入了多個(gè).list,用于顯示文章標(biāo)題和摘要。通過下面的CSS來控制外觀。
CSS
#demo{width:680px; margin:20px auto; padding:4px; background:#f7f7f7;
border:1px solid #d3d3d3}
.list{margin:6px}
.list h3{height:26px; line-height:26px; font-size:14px}
.list p{line-height:20px}
.showblock .list{float:left; width:325px; height:100px}
我們要設(shè)置最外層的#demo樣式,使其具有統(tǒng)一外觀,包括背景色和邊框樣式。注意,我們?cè)谧詈笠O(shè)置一個(gè)樣式.showblock .list,控制#demo里的.list樣式,使其向左浮動(dòng),并設(shè)置高度和寬度,設(shè)置.showblock其實(shí)就是設(shè)置#demo的樣式,在接下來的jQuery代碼中,你就會(huì)明白了。當(dāng)然您可以根據(jù)需求自行設(shè)計(jì)CSS和XHTML,本文只是為了演示簡單的構(gòu)建了樣式和HTML結(jié)構(gòu)。
jQuery
實(shí)現(xiàn)切換布局的原理其實(shí)就是,用javascript來控制頁面顯示的樣式,當(dāng)用戶點(diǎn)擊切換時(shí),引用不同的CSSy樣式。請(qǐng)看下面的jQuery代碼。
$(function(){
$("#switch").toggle(function(){
$("#demo").fadeOut("fast",function(){
$(this).fadeIn("fast").addClass("showblock");
});
},function(){
$("#demo").fadeOut("fast",function(){
$(this).fadeIn("fast").removeClass("showblock");
});
});
});
我們使用toggle事件,它用來交替的執(zhí)行事件,使用fadeOut讓切換有個(gè)過渡效果,不難看出,就是通過addClass()和removeClass()調(diào)用不同的樣式來實(shí)現(xiàn)不同的布局效果。
問題:如何實(shí)現(xiàn)分頁后,切換了布局方式,進(jìn)入下一頁和上一頁的布局方式一樣呢?
思路:可以采用cookie記錄用戶所選的布局方式,然后進(jìn)入下一頁時(shí)讀取cookie值,分配布局方式等。關(guān)于cookie的使用,可以參照本站文章:使用jQuery操作Cookies
XHTML
復(fù)制代碼 代碼如下:
<a href="#" id="switch">切換布局</a>
<div id="demo" class="showlist">
<div class="list">
<h3><a href="#">文章標(biāo)題</a></h3>
<p>文章摘要</p>
</div>
...
</div>
XHTML結(jié)構(gòu)中,在#demo中放入了多個(gè).list,用于顯示文章標(biāo)題和摘要。通過下面的CSS來控制外觀。
CSS
復(fù)制代碼 代碼如下:
#demo{width:680px; margin:20px auto; padding:4px; background:#f7f7f7;
border:1px solid #d3d3d3}
.list{margin:6px}
.list h3{height:26px; line-height:26px; font-size:14px}
.list p{line-height:20px}
.showblock .list{float:left; width:325px; height:100px}
我們要設(shè)置最外層的#demo樣式,使其具有統(tǒng)一外觀,包括背景色和邊框樣式。注意,我們?cè)谧詈笠O(shè)置一個(gè)樣式.showblock .list,控制#demo里的.list樣式,使其向左浮動(dòng),并設(shè)置高度和寬度,設(shè)置.showblock其實(shí)就是設(shè)置#demo的樣式,在接下來的jQuery代碼中,你就會(huì)明白了。當(dāng)然您可以根據(jù)需求自行設(shè)計(jì)CSS和XHTML,本文只是為了演示簡單的構(gòu)建了樣式和HTML結(jié)構(gòu)。
jQuery
實(shí)現(xiàn)切換布局的原理其實(shí)就是,用javascript來控制頁面顯示的樣式,當(dāng)用戶點(diǎn)擊切換時(shí),引用不同的CSSy樣式。請(qǐng)看下面的jQuery代碼。
復(fù)制代碼 代碼如下:
$(function(){
$("#switch").toggle(function(){
$("#demo").fadeOut("fast",function(){
$(this).fadeIn("fast").addClass("showblock");
});
},function(){
$("#demo").fadeOut("fast",function(){
$(this).fadeIn("fast").removeClass("showblock");
});
});
});
我們使用toggle事件,它用來交替的執(zhí)行事件,使用fadeOut讓切換有個(gè)過渡效果,不難看出,就是通過addClass()和removeClass()調(diào)用不同的樣式來實(shí)現(xiàn)不同的布局效果。
問題:如何實(shí)現(xiàn)分頁后,切換了布局方式,進(jìn)入下一頁和上一頁的布局方式一樣呢?
思路:可以采用cookie記錄用戶所選的布局方式,然后進(jìn)入下一頁時(shí)讀取cookie值,分配布局方式等。關(guān)于cookie的使用,可以參照本站文章:使用jQuery操作Cookies
相關(guān)文章
jQuery實(shí)現(xiàn)判斷滾動(dòng)條滾動(dòng)到document底部的方法分析
這篇文章主要介紹了jQuery實(shí)現(xiàn)判斷滾動(dòng)條滾動(dòng)到document底部的方法,結(jié)合實(shí)例形式分析了jQuery事件響應(yīng)及針對(duì)頁面元素屬性判斷的相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
解決jquery1.9不支持browser對(duì)象的問題
項(xiàng)目里面一直用的都是jquery1.9,不支持browser對(duì)象,百度一下,找到了解決方案在此與大家分享下,有遇到此問題的朋友不要錯(cuò)過2013-11-11
jquery的flexigrid無法顯示數(shù)據(jù)提示獲取到數(shù)據(jù)
升級(jí)了IE10,發(fā)現(xiàn)flexigrid無法顯示數(shù)據(jù),提示獲取到了數(shù)據(jù),但沒任何報(bào)錯(cuò)任何顯示,經(jīng)過試驗(yàn)和跟蹤,修改如下,有類似問題的朋友可以參考下哈2013-07-07
jquery插件NProgress.js制作網(wǎng)頁加載進(jìn)度條
這篇文章主要介紹了jquery插件NProgress.js制作網(wǎng)頁加載進(jìn)度條的相關(guān)資料,需要的朋友可以參考下2015-06-06
jQuery實(shí)現(xiàn)進(jìn)度條效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)進(jìn)度條效果代碼,感興趣的小伙伴們可以參考一下2015-12-12
jQuery禁用快捷鍵例如禁用F5刷新 禁用右鍵菜單等的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猨Query禁用快捷鍵例如禁用F5刷新 禁用右鍵菜單等的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
jquery動(dòng)態(tài)加載select下拉框示例代碼
動(dòng)態(tài)加載select下拉框的實(shí)現(xiàn)方法有很多,在接下來的文章中為大家介紹下jquery是如何實(shí)現(xiàn)的2013-12-12

