日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Dom循環點擊處理插件

Dom循環點擊處理插件

來源:程序員人生   發布時間:2015-03-10 08:22:47 閱讀次數:3109次

Web交互中,有種很常見的情況就是,當某個dom被第1次點擊時,履行某種操作,第2次被點擊時,履行另外一種操作……第N次被點擊時,履行第N種操作,當N+1時,有開始履行第1種操作,如此往復循環……

就這么1個dom的重復點擊事件我也能無聊到做個插件出來,認真腦殘,但既然做出來了,那就再次記錄下,記錄自己的腦殘人生

PS:此插件基于JQuery,以下是相干代碼,其中參數methodName可以不傳,此時表示對dom進行click事件綁定,如果傳入非空字符串,則表示要履行相應的方法,暫時該插件只提供了1個履行第幾個動作的方法

$.fn.domClickRange = function (arg, methodName) { /// <summary>用于處理循環的點擊動作</summary> /// <param name="arg">要求參數.clickEvent傳遞的參數clickDom對應當前被點擊的dom對象;clickNumber對應當前的點擊動作為設定的GroupRange中的第幾個點擊動作,從0開始計算</param> /// <param name="methodName">要履行的方法</param> if (typeof methodName === "string" && $.trim(methodName) != "") { switch (methodName) { case "clickImmediately"://立刻履行第幾個點擊動作,可用于批量履行dom操作 var clickNumber = ~~arg; $(this).each(function () { var arg = $(this).data('domClickRangeArg'); if (arg != null && typeof arg.clickEvent === "function") { var clickItem = getClickItem(this, arg); clickItem.data("clickNumber", clickNumber - 1 >= 0 ? clickNumber - 1 : arg.clickGroupRange - 1); clickItem.click(); } }); break; } } else {//履行初始化 var setting = { clickSelector: null,//要綁定點擊動作的selector,如果傳入null或空字符串表示要綁定點擊事件的為當前dom clickDefaultNumer: 0,//默許為第幾次點擊動作 clickGroupRange: 2,//設定多少次點擊動作為1組點擊動作,即點擊多少次為1輪 clickEvent: function (clickDom, clickNumber) { } //dom被點擊時要觸發的函數 }; arg = $.extend({}, setting, arg); arg.clickDefaultNumer = ~~arg.clickDefaultNumer;//取整 arg.clickGroupRange = ~~arg.clickGroupRange;//取整 $(this).data('domClickRangeArg', arg); $(this).each(function () { var clickItem = getClickItem(this, arg); clickItem.data("clickNumber", arg.clickDefaultNumer); clickItem.click(function () { var prevClickNumber = ~~$(this).data("clickNumber");//之前的點擊標志 var nowClickNumber = ~~((prevClickNumber + 1) % arg.clickGroupRange); $(this).data("clickNumber", nowClickNumber); if (typeof arg.clickEvent === "function") { arg.clickEvent(this, nowClickNumber); } return false; }); }); } function getClickItem(dom, arg) { var clickItem = $(dom); if (typeof arg.clickSelector === "string" && $.trim(arg.clickSelector) != "") { clickItem = $(dom).find(arg.clickSelector); } return clickItem; } };


以下是測試用的demo

html部份以下,bt_Button為要綁定點擊事件的按鈕,sp_Number用于顯示當前是第幾次點擊,bt_Immediately用于履行clickImmediately方法,ipt_Number用于傳入要離可以履行的點擊順序編號

<div> <input type="button" id="bt_Button" value="Click" /> nowClickNumber:<span id="sp_Number"></span> </div> <div><input type="button" id="bt_Immediately" value="ClickImmediately" /><input type="text" id="ipt_Number" value="12" /></div>

用于測試的js代碼以下

$().ready(function () { $('#bt_Button').domClickRange({ clickDefaultNumer: 9, clickGroupRange: 15, clickEvent: function (clickDom, clickNumber) { console.info($(clickDom).attr('id') + clickNumber); $('#sp_Number').html(clickNumber); } }); $('#bt_Immediately').click(function () { $('#bt_Button').domClickRange($('#ipt_Number').val(), 'clickImmediately'); }); });

最后來張腦殘截圖


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩电影一区二区 | 91精品国产92久久久久 | 中文字幕亚洲专区 | 日韩欧美综合 | 正在播放一区 | 精品国产乱码久久久久久牛牛 | 欧美成人精品二区三区99精品 | 亚洲男人av| 欧洲精品一区二区 | 91精品国产综合久久福利 | 欧产日产国产精品一二 | 欧美精品a∨在线观看不卡 黄色av免费 | 久久中文免费 | 精品成人一区二区 | 欧美一区二区三区在线播放 | 久久国产精品视频免费看 | 成人毛片在线观看视频 | 久久精品久久久精品美女 | 精品国产一区二区三区久久影院 | 成视频年人免费看黄网站 | 国产一区二区三区欧美 | 粉嫩欧美一区二区三区高清影视 | 中文一区二区视频 | 美女又爽又黄免费视频 | 九九九九色| 在线免费观看av网站 | 国产精品久久久久久久久免费看 | 在线久热| 99精品视频在线免费观看 | 久久久久久综合 | 国产精品一区一区 | 久久国产精品一区二区三区 | 五月色综合 | 久久久精品成人 | 999久久久精品 | 99re99热| а天堂中文最新一区二区三区 | 久久久蜜臀国产一区二区 | 欧美三级视频在线观看 | 综合久久久久久久 | 久久国产精品一区 |