日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

jQuery之换肤与cookie插件

發(fā)布時(shí)間:2023/12/31 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jQuery之换肤与cookie插件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有時(shí)候一個(gè)網(wǎng)頁(yè)可以有多個(gè)皮膚進(jìn)行選擇,也就是不同的背景,或是一整套新的css,能使整個(gè)頁(yè)面變成另一種風(fēng)格。

這個(gè)功能可以用jQuery來實(shí)現(xiàn)。外加cookie插件。有了cookie,就可以長(zhǎng)時(shí)間的保存選擇后的背景樣式,而不至于每次刷新界面都會(huì)轉(zhuǎn)入默認(rèn)的畫面。

效果如下:

代碼之div+css研讀:

按 Ctrl+C 復(fù)制代碼

<body>
<ul id="skin">
<li id="skin_0" title="灰色" class="selected">灰色</li>
<li id="skin_1" title="紫色">紫色</li>
<li id="skin_2" title="紅色">紅色</li>
<li id="skin_3" title="天藍(lán)色">天藍(lán)色</li>
<li id="skin_4" title="橙色">橙色</li>
<li id="skin_5" title="淡綠色">淡綠色</li>
</ul>

<div id="div_side_0"><div id="news"><h1 class="title">時(shí)事新聞</h1></div> </div><div id="div_side_1"><div id="game"><h1 class="title">娛樂新聞</h1></div> </div>

</body>
按 Ctrl+C 復(fù)制代碼
按 Ctrl+C 復(fù)制代碼

#div_side_0,#div_side_1
{
float:left;
width:120px;
height:450px;
}
#skin
{
margin:10px;
padding:5px;
width:210px;
padding-right:0px;
list-style:none;
border: 1px solid #CCCCCC;
overflow:hidden;//

visible
默認(rèn)值。內(nèi)容不會(huì)被修剪,會(huì)呈現(xiàn)在元素框之外。

hidden
內(nèi)容會(huì)被修剪,并且其余內(nèi)容是不可見的。

scroll
內(nèi)容會(huì)被修剪,但是瀏覽器會(huì)顯示滾動(dòng)條以便查看其余的內(nèi)容。

auto
如果內(nèi)容被修剪,則瀏覽器會(huì)顯示滾動(dòng)條以便查看其余的內(nèi)容。

inherit
規(guī)定應(yīng)該從父元素繼承 overflow 屬性的值。

}

#skin li{
float:left;
margin-right:5px;
width:15px;
height:15px;
text-indent:-999px;/text-indent是用來設(shè)定文本塊中第一行的縮進(jìn)/
overflow:hidden;
display:block;     /
                none 此元素不會(huì)被顯示。
                block 此元素將顯示為塊級(jí)元素,此元素前后會(huì)帶有換行符。
                inline 默認(rèn)。此元素會(huì)被顯示為內(nèi)聯(lián)元素,元素前后沒有換行符。
                /
cursor:pointer;
background-image:url(theme.gif);
}
#skin_0{
background-position:0px 0px;
}
#skin_1{
background-position:15px 0px;
}
#skin_2{
background-position:35px 0px;
}
#skin_3{
background-position:55px 0px;
}
#skin_4{
background-position:75px 0px;
}
#skin_5{
background-position:95px 0px;
}
#skin_0.selected{
background-position:0px 15px !important;
}
#skin_1.selected{
background-position:15px 15px !important;
}
#skin_2.selected{
background-position:35px 15px !important;
}
#skin_3.selected{
background-position:55px 15px !important;
}
#skin_4.selected{
background-position:75px 15px !important;
}
#skin_5.selected{
background-position:95px 15px !important;
}
按 Ctrl+C 復(fù)制代碼

在html部分,通過一個(gè)ul、li來進(jìn)行導(dǎo)航的布局。兩個(gè)div進(jìn)行內(nèi)容的布局。在ul中設(shè)置了margin、padding、width、list-style、border、overflow等值。

在li中設(shè)置了float、width、height等。這里的背景圖片用的很巧妙。

background-position 屬性設(shè)置背景圖像的起始位置。

這個(gè)屬性設(shè)置背景原圖像(由 background-image 定義)的位置,背景圖像如果要重復(fù),將從這一點(diǎn)開始。巧妙的利用了position+位置的組合。

當(dāng)選中時(shí),x位置不變,y位置向下移動(dòng)15px,這樣就會(huì)出現(xiàn)打鉤的那個(gè)畫面。這種處理非常之巧妙。
用一個(gè)圖片,解決了很多問題。

下面進(jìn)行jQuery代碼的研讀

版本一:

按 Ctrl+C 復(fù)制代碼

<script type="text/javascript">
//<![CDATA[
$(function(){
var $li =$("#skin li");
$li.click(function(){
$("#"+this.id).addClass("selected") //當(dāng)前<li>元素選中,this是js對(duì)象,$(this)是jQuery對(duì)象。
.siblings().removeClass("selected"); //去掉其它同輩<li>元素的選中
$("#cssfile").attr("href","css/"+this.id+".css"); //設(shè)置不同皮膚
})
})
//]]>
</script>
按 Ctrl+C 復(fù)制代碼
這里是簡(jiǎn)單的實(shí)現(xiàn)了效果,更換按鈕,更換皮膚。

但是并沒有實(shí)現(xiàn)cookie。

這段代碼主要實(shí)現(xiàn)兩個(gè)動(dòng)作,一個(gè)是變換按鈕的選中狀態(tài),一個(gè)是改變相應(yīng)的皮膚css。通過js對(duì)象this獲得標(biāo)簽為this.id的jQuey對(duì)象,這種處理也很巧妙。

另一個(gè),將css文件名命名與屬性id相結(jié)合,也很巧妙。

修改cssfile的屬性值href為新的css。

版本二:

按 Ctrl+C 復(fù)制代碼

<script type="text/javascript">
//<![CDATA[
$(function(){
var $li =$("#skin li");
$li.click(function(){
$("#"+this.id).addClass("selected") //當(dāng)前<li>元素選中
.siblings().removeClass("selected"); //去掉其它同輩<li>元素的選中
$("#cssfile").attr("href","css/"+ (this.id) +".css"); //設(shè)置不同皮膚
$.cookie( "MyCssSkin" , this.id , { path: '/', expires: 10 });
});
var cookie_skin = $.cookie( "MyCssSkin");//將MyCssSkin這個(gè)cookie值this.id賦給變量cookie_skinif (cookie_skin) {
$("#"+cookie_skin).addClass("selected") //當(dāng)前<li>元素選中
.siblings().removeClass("selected"); //去掉其它同輩<li>元素的選中
$("#cssfile").attr("href","css/"+ cookie_skin +".css"); //設(shè)置不同皮膚
$.cookie( "MyCssSkin" , cookie_skin , { path: '/', expires: 10 });
}
})
//]]>
</script>
按 Ctrl+C 復(fù)制代碼
這里面多了一個(gè)動(dòng)作,就是設(shè)置了cookie。

然后通過cookie值是否存在來做出相應(yīng)的動(dòng)作,如果cookie值存在,就直接將皮膚設(shè)為cookie值的值。

這里用到的是jQuery的cookie插件。

jQuery操作cookie的插件,大概的使用方法如下

$.cookie('the_cookie'); //讀取Cookie值
$.cookie(’the_cookie’, ‘the_value’); //設(shè)置cookie的值
$.cookie(’the_cookie’, ‘the_value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});//新建一個(gè)cookie 包括有效期 路徑 域名等
$.cookie(’the_cookie’, ‘the_value’); //新建cookie
$.cookie(’the_cookie’, null); //刪除一個(gè)cookie

不過這段代碼不好的地方,就是有大量的重復(fù)代碼,可以模塊化,函數(shù)化。這也是代碼優(yōu)化的一種。

版本三:

按 Ctrl+C 復(fù)制代碼

<script type="text/javascript">
//<![CDATA[
$(function(){
var $li =$("#skin li");
$li.click(function(){
switchSkin( this.id );
});
var cookie_skin = $.cookie( "MyCssSkin");//優(yōu)化了代碼,將功能模塊化了
if (cookie_skin) {
switchSkin( cookie_skin );
}
});
function switchSkin(skinName){
$("#"+skinName).addClass("selected") //當(dāng)前<li>元素選中
.siblings().removeClass("selected"); //去掉其它同輩<li>元素的選中
$("#cssfile").attr("href","css/"+ skinName +".css"); //設(shè)置不同皮膚
$.cookie( "MyCssSkin" , skinName , { path: '/', expires: 10 });
}
//]]>
</script>
按 Ctrl+C 復(fù)制代碼
用到就調(diào)用函數(shù),參數(shù)變化即可。

轉(zhuǎn)載于:https://blog.51cto.com/13767247/2358335

總結(jié)

以上是生活随笔為你收集整理的jQuery之换肤与cookie插件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲天堂av电影 | 精品久久久久久久久久久久 | 成人一级黄色 | 中文字幕有码在线 | 深夜福利视频网站 | 午夜在线观看av | 顶级黑人搡bbw搡bbbb搡 | 福利一区二区 | jzzjzz日本丰满少妇 | 激情五月综合色婷婷一区二区 | 午夜私人影院 | 青青青手机视频 | aa级黄色片 | 在线中文字幕一区二区 | 无码国产精品96久久久久 | 亚洲av无码乱码国产麻豆 | 男人和女人插插 | 天堂va蜜桃一区二区三区漫画版 | 久久精品亚洲一区 | 日韩av不卡在线播放 | 成年人www| 欧美专区在线视频 | 亚洲一级av无码毛片精品 | 99精品热| 精品欧美一区二区久久久 | 最新中文字幕 | 污色视频 | 国产成人综合视频 | 久久人人爽人人爽人人av | 欧美精品xx| 三级理伦 | 精品无码m3u8在线观看 | 国产精品天美传媒沈樵 | 美国免费黄色片 | 日韩在线免费观看视频 | 五月激情天| 爱啪啪导航 | 蝌蚪网在线视频 | 中文一区视频 | 青青草视频在线免费观看 | 黄色免费在线播放 | 黄色国产一区二区 | 免费精品在线 | 一呦二呦三呦精品网站 | 亚洲深夜福利 | 精品少妇人妻av一区二区三区 | 欧美日韩视频免费 | 国产又白又嫩又爽又黄 | 欧美在线免费 | 免费精品视频在线 | 六月色播 | 麻豆成人av| 欧美一区二区在线观看视频 | 精品国产鲁一鲁一区二区三区 | 国产在线午夜 | 精品一二三区久久aaa片 | 欧美一级视频免费 | 思思久久精品 | 波多野结衣高清在线 | 久久精品aⅴ无码中文字字幕重口 | 日本免费黄色小视频 | 国产精品久久91 | av无线看 | 亚洲小视频在线播放 | 99视频一区二区 | 老司机在线免费视频 | 男女激情网址 | 大桥未久视频在线观看 | 国产成人精品123区免费视频 | 国产精品丝袜一区 | 亚洲av无码乱码国产精品fc2 | 亚洲国产精品狼友在线观看 | 一本色道久久综合亚洲精品图片 | 欧美又粗又大aaa片 老熟妇仑乱视频一区二区 亚洲妇女体内精汇编 | 午夜视频网站 | 欧美色图校园春色 | 日本午夜一区 | 日本在线一 | 国产性猛交xxxⅹ交酡全过程 | 久久亚洲综合色 | 亚洲第一综合 | 午夜激情小视频 | 99爱视频| 在线观看国产一级片 | 亚洲视频一区在线 | 性一交一乱一乱一视频 | 亚洲欧美综合 | 另类一区二区三区 | 一区二区中文字幕 | 成人颜色网站 | 全部免费毛片 | 久久久精品一区二区 | 欧美s码亚洲码精品m码 | 精品视频在线看 | av观看国产 | 国产字幕av | 国产精品久久久爽爽爽麻豆色哟哟 | 夜色一区二区三区 | 一本亚洲 |