亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jquery 怎么封裝函數給3組demo使用,點擊時互不影響

jquery 怎么封裝函數給3組demo使用,點擊時互不影響

班大人 2016-12-04 10:19:32
我寫的jquery,三組demo一起切換,我想到封裝函數,可是我忘記怎么寫了。?求講師。非常感謝回答者 /鞠躬求貼代碼,或者案例。謝謝啦。$('document').ready(function()?{ ????//?設置這些div為JavaScipt瀏覽器顯示 ????$('.gallery_data').css('display','block'); ????$('.gallery_preview').css('display','block'); ????$('.gallery_caption').css('display','block'); ???? ????//?捕捉縮略圖鏈接 ????$('.gallery_thumbnails?a').click(function(e){ ????????//?禁用標準鏈接行為 ????????e.preventDefault(); ???????? ????????//?基于鏈接的縮略圖設置變量 ????????var?photo_caption?=?$(this).attr('title'); ????????var?photo_fullsize?=?$(this).attr('href'); ????????var?photo_classify=?$(this).data('classify');? ????????console.log(photo_fullsize); ????????var?photo_preview?=?photo_fullsize.replace("_fullsize",?"_preview"); ????????//?淡出預覽,預加載新形象,淡化預覽??imgpreload ????????$('.gallery_caption').slideUp(500); ????????$('.gallery_preview').fadeOut(500,?function(){ ????????????$('.gallery_preload_area').html('<img?src="'+photo_preview+'"?/>'); ????????????$('.gallery_preload_area?img').imgpreload(function(){ ????????????????$('.gallery_preview').html('<a?class="overlayLink"?title="'+photo_caption+'"?data-classify="'+photo_classify+'"?href="'+photo_fullsize+'"?style="background-image:url('+photo_preview+');"></a>'); ????????????????$('.gallery_preview').fadeIn(500); ????????????????$('.gallery_caption').html('<a?class="name"?href="'+photo_fullsize+'">'+photo_caption+'</a><p?class="field">'+photo_classify+'</p>'); ????????????????$('.gallery_caption').slideDown(500); ????????????????updateThumbnails(); ????????????}); ????????}); ????????$(this).addClass('active').siblings().removeClass('active'); ????}); ???? ????//?設置第一個預覽圖像 ????var?first_photo_caption?=?$('.gallery_thumbnails?a').first().attr('title'); ????var?first_photo_fullsize?=?$('.gallery_thumbnails?a').first().attr('href'); ????var?first_photo_classify?=?$('.gallery_thumbnails?a').first().data('classify'); ????var?first_photo_preview?=?first_photo_fullsize.replace("_fullsize",?"_preview"); ????$('.gallery_preview').html('<a?class="overlayLink"?title="'+first_photo_caption+'"?data-classify="'+first_photo_classify+'"?href="'+first_photo_fullsize+'"?style="background-image:url('+first_photo_preview+');"></a>'); ????$('.gallery_caption').html('<a?class="name"?href="'+first_photo_fullsize+'">'+first_photo_caption+'</a><p?class="field">'+first_photo_classify+'</p>'); ????updateThumbnails(); }); function?updateThumbnails(){ ????$('.gallery_thumbnails?a').each(function(index){ ???????? ????????if?(?$('.gallery_preview?a').data('href')?==?$(this).attr('href')?){ ????????????$(this).addClass('selected'); ????????????$(this).children().fadeTo(250,?.4); ????????}else?{ ????????????$(this).removeClass('selected'); ????????????$(this).children().css('opacity',?'1'); ????????} ????}); ???? }
查看完整描述

1 回答

已采納
?
習慣受傷

TA貢獻885條經驗 獲得超1144個贊

把需要執行的方法,效果封裝為一個方法如:

var?action?=?function(element){
????//do?action
};
//參數為需要在其上執行操作的元素,調用方法如:
action($(".element1"));

這樣一封裝,讓其他事件調用的時候如:

$(".demo").each(function(){
????var?btn?=?$(this).find(".button");
????btn.on("click",function(){
????????action($(this));
????});
});

這樣就可以了。

查看完整回答
反對 回復 2016-12-04
  • 班大人
    班大人
    按你的指導,做了下,沒做好。。。( ╯□╰ )
  • 測試狗
    測試狗
    把重復的動作提取出來, 不同的東西當做參數.
  • 1 回答
  • 0 關注
  • 2158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號