前幾天由于工作需要制作一個分享按鈕,考慮到后續(xù)其他項(xiàng)目可能也會用到,于是就打算寫成插件化,正好也給我自己的插件jquery.hooray增加一個新的功能,為了不浪費(fèi)大家時間,我先把demo放出來,如果覺得能用到,或者想學(xué)是怎么制作的,那就繼續(xù)往下看。(demo演示)
既然要做成插件,那可制定性肯定要強(qiáng),不能定死,比如不能把顯示個數(shù)定死,不能把分享按鈕排序定死等等(不過有些東西還是要定死的,太靈活了也就成不了插件了)。這里我的操作辦法是……先看代碼吧
<div class="HRshare1">
<a class="hr-share-tsina"></a>
<a class="hr-share-tqq"></a>
<a class="hr-share-qzone"></a>
<a class="hr-share-renren"></a>
<a class="hr-share-baidu"></a>
<a class="hr-share-115"></a>
<a class="hr-share-tsohu"></a>
<a class="hr-share-taobao"></a>
<a class="hr-share-xiaoyou"></a>
<a class="hr-share-more"></a>
</div>
我把所有按鈕都用A標(biāo)記來制作,然后用一個div容器把它們都包在里面,只要在這個容器里,用的是A標(biāo)記,并且class的名稱是按我的規(guī)定來命名的就一切OK,至于顯示數(shù)量,排列順序什么的,隨意。
HTML制定好規(guī)范后,就可以開始寫css樣式了,需要注意的是,為了減少http的請求,按鈕的圖片我是用css sprites拼接在一起了,如

同時我也制作了32*32的大圖標(biāo)版本,當(dāng)然你也可以制作其他尺寸的,按個人需求來就行。下面是css代碼,沒有太多好介紹的,看下就行。
.hr-share-16 a{display:block;width:18px;height:16px;background:url(HRico_16x16.png) no-repeat;float:left;cursor:pointer}
.hr-share-16 a:hover{opacity:0.8}
.hr-share-16 a.hr-share-more{background-position:0 0}
.hr-share-16 a.hr-share-tsina{background-position:0 -16px}
.hr-share-16 a.hr-share-tqq{background-position:0 -32px}
.hr-share-16 a.hr-share-qzone{background-position:0 -48px}
.hr-share-16 a.hr-share-renren{background-position:0 -64px}
.hr-share-16 a.hr-share-baidu{background-position:0 -80px}
.hr-share-16 a.hr-share-115{background-position:0 -96px}
.hr-share-16 a.hr-share-tsohu{background-position:0 -112px}
.hr-share-16 a.hr-share-taobao{background-position:0 -128px}
.hr-share-16 a.hr-share-xiaoyou{background-position:0 -144px}
.hr-share-16 a.hr-share-hi{background-position:0 -160px}
.hr-share-16 a.hr-share-fanfou{background-position:0 -176px}
.hr-share-16 a.hr-share-sohubai{background-position:0 -192px}
.hr-share-16 a.hr-share-feixin{background-position:0 -208px}
.hr-share-16 a.hr-share-youshi{background-position:0 -224px}
.hr-share-16 a.hr-share-tianya{background-position:0 -240px}
.hr-share-16 a.hr-share-msn{background-position:0 -256px}
.hr-share-16 a.hr-share-douban{background-position:0 -272px}
.hr-share-16 a.hr-share-twangyi{background-position:0 -288px}
.hr-share-16 a.hr-share-mop{background-position:0 -304px}
這里我特地為每個按鈕的樣式加了個.hr-share-16這個前綴,目的一是為了區(qū)分出16*16和32*32的圖標(biāo)樣式,二是為了之后js代碼部分的操作,后面我會講到。
做完了上面這兩步,接下來重點(diǎn)就來了,就是JS的編寫,在此之前,我們先把思路理一下,防止在編寫完JS后發(fā)現(xiàn)有更好的方法,導(dǎo)致重新編寫。
首先,每個網(wǎng)站都有自己特定分享鏈接的代碼,我們隨機(jī)拿2個過來參考下,比如最近很火的騰訊微博和新浪微博。
view sourceprint?http://v.t.qq.com/share/share.php?title=分享插件 - jquery.HooRay - jQuery插件 - 制作:胡
主站蜘蛛池模板:
太湖县|
蓬安县|
乾安县|
无为县|
苏尼特右旗|
共和县|
兴宁市|
双牌县|
德化县|
林西县|
邹平县|
高陵县|
兴海县|
醴陵市|
临朐县|
维西|
九龙县|
安义县|
交城县|
上林县|
龙游县|
合江县|
西城区|
乳山市|
甘孜|
安溪县|
滨海县|
哈巴河县|
砀山县|
卢龙县|
民勤县|
库伦旗|
屯门区|
聊城市|
SHOW|
桂林市|
贡觉县|
北京市|
荃湾区|
大新县|
玛曲县|