本文以實例形式詳細講述了jQuery動畫特效的實現(xiàn)方法。分享給大家供大家參考之用。具體方法如下:

創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、成都網(wǎng)站設計與策劃設計,曲陽網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:曲陽等地區(qū)。曲陽做網(wǎng)站價格咨詢:13518219792
1.自制折疊內(nèi)容塊
內(nèi)容塊如下:
div
class="module"
div
class="caption"
span標題/span
img
src="rollup.gif"
alt="rollup"
title="rolls
up
this
module"/
/div
div
class="body"
近日,《體壇周報》記者馬德興在接受天津體育頻道《體壇新視野》節(jié)目采訪時表示自己對恒大[微博]的情況比較擔憂,恒大統(tǒng)治力比上賽季下降了很多,恒大外援存在位置重疊的問題,客場不輸給西悉尼流浪者就是一個可以接受的結果。該節(jié)目稱恒大聯(lián)賽3連勝勝之不武,恒大的惹不起不過爾爾,恒大失去了對其它球隊壓倒性的優(yōu)勢,能力下降是恒大霸主地位有所動搖的根源所在。
/div
/div
給img元素綁定點擊事件。
$(function()
{
$('div.caption
img').click(function
()
{
//先找到img的父級元素,再找該父級元素的子元素
var
$body
=
$(this).closest('div.module').find('div.body');
if
($body.is(':hidden'))
{
$body.show();
}
else
{
$body.hide();
}
});
});
運行效果如下圖所示:
切換元素的顯示狀態(tài),還可以用toggle方法。
$(function()
{
$('div.caption
img').click(function
()
{
$(this).closest('div.module').find('div.body').toggle();
});
});
以上是沒有動畫效果的,有時候感覺會很唐突。實際上,show,hide,toggle方法都可以有動畫效果。比如:
$(function()
{
$('div.caption
img').click(function
()
{
$(this).closest('div.module').find('div.body').toggle('slow');
});
});
又比如:
$(function()
{
$('div.caption
img').click(function
()
{
$(this).closest('div.module').find('div.body').toggle('slow',
function()
{
$(this).closest('div.module').toggleClass('rolledup',
$(this).is(':hidden'))
});
});
});
2.使元素淡入淡出
fadeIn(speed,
callback)
fadeOut(speed,
callback)
fadeTo(speed,
opacity,
callback)
3.上下滑動元素
slideDown(speed,
callback)
slideUp(speed,
callback)
slideToggle(speed,
callback)
4.停止動畫
stop(clearQueue,
gotoEnd)
5.創(chuàng)建自定義動畫
animate(properties,
duration,
easing,
callback)
$('.classname').animate({opacity:'toggle'},'slow')
如果寫一個擴展函數(shù)。
$.fn.fadeToggle
=
function(speed){
return
this.animate({opacity:'toggle'},'slow');
}
6.自定義縮放動畫
$('.classname').each(function(){
$(this).animate({
width:
$(this).width()
*
2,
height:
$(this).height()
*
2
});
});
7.自定義掉落動畫
$('.classname').each(function(){
$(this)
.css("position","relative")
.animate({
opacity:
0,
top:
$(window).height()
-
$(this).height()
-
$(this).position().top
},'slow',function(){
$(this).hide();
})
});
8.自定義消散動畫
$('.classname').each(function(){
var
position
=
$(this).position();
$(this)
.css({
position:
'absolute',
top:
position.top,
left:position.left
})
.animate({
opacity:
'hide',
width:
$(this).width()*5,
height:
$(this).height()*5
top:
position.top
-
($(this).height()
*
5
/
2),
left:
position.left
-
($(this).width()
*
5
/2)
},'normal');
});
9.隊列中的動畫
//動畫插入隊列
$('img').queue('chain',
function(){});
$('img').queue('chain',
function(){});
$('img').queue('chain',
function(){});
$('img').queue('chain',
function(){});
$('button').click(function(){
$('img').dequeue('chain');
//刪除隊列中的動畫
})
cleaeQueue(name)//刪除所有未執(zhí)行的隊列中的動畫
delay(duration,
name)//為隊列中所有未執(zhí)行的動畫添加延遲
相信本文所述對大家的jQuery程序設計有一定的借鑒價值。
jquery 微信分享鏈接
script
wx.config({
debug: false,// 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。移動端會通過彈窗來提示相關信息。如果分享信息配置不正確的話,可以開了看對應報錯信息
appId: '?php echo $signPackage["appId"];?',
timestamp: '?php echo $signPackage["timestamp"];?',
nonceStr: '?php echo $signPackage["nonceStr"];?',
signature: '?php echo $signPackage["signature"];?',
jsApiList: [//需要使用的JS接口列表,分享默認這幾個,如果有其他的功能比如圖片上傳之類的,需要添加對應api進來
'checkJsApi',
'onMenuShareTimeline',//
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo'
]
});
/script
本文實例講述了jQuery實現(xiàn)控制文字內(nèi)容溢出用省略號(…)表示的方法。分享給大家供大家參考,具體如下:
jQuery限制字符字數(shù)的方法
$(function(){
//限制字符個數(shù)
$(".text").each(function(){
var
maxwidth=23;
if($(this).text().lengthmaxwidth){
$(this).text($(this).text().substring(0,maxwidth));
$(this).html($(this).html()+'…');
}
});
});
div
class="text"
style="width:150px;"你個殺千刀的,怎么寫了這么多的文字,我要被攔腰截斷了啊,天啊!/div
div
class="text"
style="width:150px;"你個殺千刀的,怎么寫了這么多的文字,我要被攔腰截斷了啊,天啊!/div
更多關于jQuery相關內(nèi)容感興趣的讀者可查看本站專題:《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
$.each(array,
[callback])
遍歷
不同于例遍
jQuery
對象的
$.each()
方法,此方法可用于例遍任何對象(不僅僅是數(shù)組哦~).
回調(diào)函數(shù)擁有兩個參數(shù):第一個為對象的成員或數(shù)組的索引,
第二個為對應變量或內(nèi)容.
如果需要退出
each
循環(huán)可使回調(diào)函數(shù)返回
false,
其它返回值將被忽略.
each遍歷,相信都不陌生,在平常的事件處理中,是for循環(huán)的變體,但比for循環(huán)強大.在數(shù)組中,它可以輕松的攻取數(shù)組索引及對應的值.例:
使用方法如下:
復制代碼
代碼如下:
var
arr
=
['javascript',
'php',
'java',
'c++',
'c#',
'perl',
'vb',
'html',
'css',
'objective-c'];
$.each(arr,
function(key,
val)
{
//
firebug
console
console.log('index
in
arr:'
+
key
+
",
corresponding
value:"
+
val);
//
如果想退出循環(huán)
//
return
false;
});
再來個測試程序:
[/code]
var
fruit
=
['蘋果','香蕉','橙子','哈密瓜','芒果'];
//用原生getElementsByTagName獲取h2元素的對象集合
var
h2obj=document.getElementsByTagName('h2');
//$.each()遍歷數(shù)組
$('input#js_each').click(function(){
$.each(fruit,function(key,val){
//回調(diào)函數(shù)有兩個參數(shù),第一個是元素索引,第二個為當前值
alert('fruit數(shù)組中,索引:'+key+'對應的值為:'+val);
});
});
[/code]
相對于原生的for..in,each更強壯一點.
for..in也可以遍歷數(shù)組,并返回對應索引,但值是需要通過arrName[key]來獲取;
$.grep(array,
callback,
[invert])過濾
使用過濾函數(shù)過濾數(shù)組元素.此函數(shù)至少傳遞兩個參數(shù)(第三個參數(shù)為true或false,對過濾函數(shù)返回值取反,個人覺得用處不大):
待過濾數(shù)組和過濾函數(shù).
過濾函數(shù)必須返回
true
以保留元素或
false
以刪除元素.
另外,過濾函數(shù)還可以是可設置為一個字條串(個人不推薦,欲了解自行查閱);
復制代碼
代碼如下:
v[code]ar
temp
=
[];
temp
=
$.grep(arr,
function(val,
key)
{
if(val.indexOf('c')
!=
-1)
return
true;
//
如果[invert]參數(shù)不給或為false,
$.grep只收集回調(diào)函數(shù)返回true的數(shù)組元素
//
反之[invert]參數(shù)為true,
$.grep收集回調(diào)函數(shù)返回false的數(shù)組元素
},
false);
console.dir(temp);
再來個測試程序:
復制代碼
代碼如下:
//$.grep()過濾數(shù)組
$('input#js_grep').click(function(){
$.grep(fruit,function(val,key){
//過濾函數(shù)有兩個參數(shù),第一個為當前元素,第二個為元素索引
if(val=='芒果'){
alert('數(shù)組值為
芒果
的下標是:
'+key);
}
});
var
_moziGt1=$.grep(fruit,function(val,key){
return
key1;
});
alert('fruit數(shù)組中索引值大于1的元素為:
'+_moziGt1);
var
_moziLt1=$.grep(fruit,function(val,key){
return
key1;
},true);
//此處傳入了第三個可靠參數(shù),對過濾函數(shù)中的返回值取反
alert('fruit數(shù)組中索引值小于等于1的元素為:
'+_moziLt1);
});
$.map(array,[callback])按給定條件轉換數(shù)組
作為參數(shù)的轉換函數(shù)會為每個數(shù)組元素調(diào)用,
而且會給這個轉換函數(shù)傳遞一個表示被轉換的元素作為參數(shù).
轉換函數(shù)可以返回轉換后的值、null(刪除數(shù)組中的項目)或一個包含值的數(shù)組,
并擴展至原始數(shù)組中.這個是個很強大的方法,但并不常用.
它可以根據(jù)特定條件,更新數(shù)組元素值,或根據(jù)原值擴展一個新的副本元素.
復制代碼
代碼如下:
//1.6之前的版本只支持數(shù)組
temp
=
$.map(arr,
function(val,
key)
{
//返回null,返回的數(shù)組長度減1
if(val
===
'vb')
return
null;
return
val;
});
console.dir(temp);
//1.6開始支持json格式的object
var
obj
=
{key1:
'val1',
key2:
'val2',
key3:
'val3'};
temp
=
$.map(obj,
function(val,
key)
{
return
val;
});
console.dir(temp);
再來個測試程序:
復制代碼
代碼如下:
//$.map()按給定條件轉換數(shù)組
$('input#js_map').click(function(){
var
_mapArrA=$.map(fruit,function(val){
return
val+'[新加]';
});
var
_mapArrB=$.map(fruit,function(val){
return
val=='蘋果'
?
'[只給蘋果加]'+val
:
val;
});
var
_mapArrC=$.map(fruit,function(val){
//為數(shù)組元素擴展一個新元素
return
[val,(val+'[擴展]')];
});
alert('在每個元素后面加\'[新加]\'字符后的數(shù)組為:
'+
_mapArrA);
alert('只給元素
蘋果
添加字符后的數(shù)組為:
'+
_mapArrB);
alert('為原數(shù)組中每個元素,擴展一個添加字符\'[新加]\'的元素,返回的數(shù)組為
'+_mapArrC);
});
$.inArray(val,array)判斷值是否存在于數(shù)組中
確定第一個參數(shù)在數(shù)組中的位置,
從0開始計數(shù)(如果沒有找到則返回
-1
).記得indexOf()方法了嗎?
indexOf()返回字符串的首次出現(xiàn)位置,而$.inArray()返回的是傳入?yún)?shù)在數(shù)組中的位置,同樣的,如果找到的,返回的是一個大于或等于0的值,若未找到則返回-1.現(xiàn)在,
知道怎么用了吧.
有了它,
判斷某個值是否存在于數(shù)組中,就變得輕而易舉了.
復制代碼
代碼如下:
//返回元素在數(shù)組中的位置,0為起始位置,返回-1則未找到該元素
console.log($.inArray('javascript',
arr));
測試程序:
[code]
//$.inArray判斷值是否在數(shù)組中,不存在返回-1,存在則返回對應索引值
$('input#js_inarray').click(function(){
var
_exist=$.inArray('芒果',fruit);
var
_inexistence=$.inArray('榴蓮',fruit)
if(_exist=0){
alert('芒果
存在于數(shù)組fruit中,其在數(shù)組中索引值是:
'+_exist);
}
if(_inexistence
0){
alert('榴蓮
不存在于數(shù)組fruit中!,返回值為:
'+_inexistence+'!');
}
});
回調(diào)么?是說再進行修改么?還是怎么回事呢? 若是再進行修改的話,那是沒辦法的,就跟發(fā)出去的微信一樣的,沒辦法修改的,只能刪除之后,修改再重新發(fā)布才行~
曬單 就是傳一張圖片保存在數(shù)據(jù)庫
分享的時候將圖片設置為數(shù)據(jù)庫的這張圖片
//?分享插件?jiathis?參考?
網(wǎng)站欄目:jquery分享,jQUERY
分享鏈接:http://chinadenli.net/article29/dsedijh.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、企業(yè)建站、域名注冊、ChatGPT、微信公眾號、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)