jquery插件怎样使用和修改?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery插件怎样使用和修改?相关的知识,希望对你有一定的参考价值。

参考技术A jQuery插件 要使用它的话 通常插件中都有demo或者api可以查阅\\x0d\\x0a通常jQuery插件为了减小体积 会发布两个版本 XXX.js和XXX.min.js\\x0d\\x0a\\x0d\\x0a如果你要修改插件需要使用XXX.js文件\\x0d\\x0a\\x0d\\x0a首先 你要知道它怎么用,先有一个可用的demo(没有demo就自己写一个),然后用webkit内核或firefox进行断点查看,这主要是为了找插件入口点,当然 你也可以直接查看js代码 这需要一定的底子\\x0d\\x0a最后 就是慢慢查看他的代码的实现功能了,先得看懂他是怎么实现的,然后你才会知道怎么改.\\x0d\\x0a\\x0d\\x0ajQuery插件我也写的不少 像 模拟alert/confirm/prompt 错误信息提示框 模拟弹出窗体 无缝marquee滚动 分页控件 拖拽控件等等\\x0d\\x0a\\x0d\\x0ajQuery插件的框架写法通常是\\x0d\\x0a\\x0d\\x0a(function($)\\x0d\\x0a $.fn.extend(\\x0d\\x0a fnKey:function()\\x0d\\x0a )\\x0d\\x0a //或者\\x0d\\x0a $.fn.fnKey=function()\\x0d\\x0a)(jQuery)\\x0d\\x0a\\x0d\\x0a上面的两种写法的调用 方式 是\\x0d\\x0a\\x0d\\x0a$("XXX").fnKey()进行调用的\\x0d\\x0a\\x0d\\x0a还有一种写法:\\x0d\\x0avar fnClass = function()\\x0d\\x0a this.fnKey=function()\\x0d\\x0a \\x0d\\x0a this.props="";\\x0d\\x0a\\x0d\\x0a\\x0d\\x0a这种写法是的调用 方式是\\x0d\\x0afnClass obj = new fnClass();\\x0d\\x0aobj.fnKey();\\x0d\\x0a\\x0d\\x0a第二种写法是js的面向对象编程 得自己慢慢的理解哈

怎样在Vue.js中使用jquery插件

安装 jQuery 和 cropper.js

# install jQuery & cropper
$ npm install jquery cropper --save

为jquery和Vue自定义指令配置webpack

为webpack配置添加jquery和Vue自定义指令的映射。

通常webpack已经引入了完整的jquery版本,但还是建议再一次引入一下。

您可以看到Vue的webpack模板已经添加到组件的文件夹中。我通常会添加很多其他文件夹像自定义指令,mixin等等。在这个例子中,我们只添加了自定义指令。

这将帮助我们引入依赖关系而无需知道其确切的路径。这也是有益的在你重构你的应用的时候。你也并不需要管理相对路径。

把下面高亮部分添加到build/webpack.base.conf文件中。

resolve:
extensions: [\'\', \'.js\', \'.vue\'],
fallback: [path.join(__dirname, \'../node_modules\')],
alias:
\'src\': path.resolve(__dirname, \'../src\'),
\'assets\': path.resolve(__dirname, \'../src/assets\'),
\'components\': path.resolve(__dirname, \'../src/components\'),
\'jquery\': path.resolve(__dirname, \'../node_modules/jquery/src/jquery\'),
\'directives\': path.resolve(__dirname, \'../src/directives\')

,
参考技术A 在Vue.js中使用jquery插件的方法:
方法一:使用plugins数组把jquery插件声明为全局的资源就可以使用了,代码如下:

plugins: [
new webpack.ProvidePlugin(
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
)
]
方法二:使用expose 加载器来加载需要的jquery插件,代码如下:

import 'expose?$!expose?jQuery!jquery'
参考技术B 基于jquery封装的一个js分页代码:

(function ($)
var PageFunc = function PageFunc()
$.PageFunc = function (Total, PageSize, curPageNum, FunUrl)
if (PageSize == "" || PageSize == null || PageSize == undefined)
PageSize = 10;

if (curPageNum == "" || curPageNum == null || curPageNum == undefined)
curPageNum = 1;

//计算总页数
Total = parseInt(Total); //总记录数
PageSize = parseInt(PageSize); //每页显示数
curPageNum = parseInt(curPageNum); //当前页
//总页数
var AllPage = Math.floor(Total / PageSize);
if (Total % PageSize != 0)
AllPage++;

var navHtml = "";
if (curPageNum <= 0)
curPageNum = 1;
if (AllPage > 1)
if (curPageNum != 1)
//处理首页连接
navHtml += "<span><a href=\"javascript:" + FunUrl + "('1')\" >|<</a></span> ";

if (curPageNum > 1)
//处理上一页的连接
navHtml += "<span><a href=\"javascript:" + FunUrl + "('" + (curPageNum - 1) + "')\" ><<</a></span> ";

else
navHtml += "<span class=\"disabled\"><<</span> ";

var currint = 5;
for (var i = 0; i <= 10; i++)
//一共最多显示10个页码,前面5个,后面5个
if ((curPageNum + i - currint) >= 1 && (curPageNum + i - currint) <= AllPage)
if (currint == i)
//当前页处理
navHtml += "<span lass=\"current\">[" + curPageNum + "]</span> ";

else
//一般页处理
var n = curPageNum + i - currint;
navHtml += "<a href=\"javascript:" + FunUrl + "('" + (parseInt(n)) + "')\">" + n + "</a> ";


if (curPageNum < AllPage)
//处理下一页的链接
navHtml += "<span><a href=\"javascript:" + FunUrl + "('" + (parseInt(curPageNum) + 1) + "')\">>></a></span> ";

else
navHtml += "<span class=\"disabled\">>></span> ";

if (curPageNum != AllPage)
navHtml += "<span><a href=\"javascript:" + FunUrl + "('" + AllPage + "')\" >>|</a></span> ";


navHtml += "<span>[" + curPageNum + "/" + AllPage + "]</span> ";
return navHtml;
;
)(jQuery);

下边是调用方法:

function QueryList(curpage)
if (curpage == "" || curpage == null || curpage == undefined)
curpage = 1;

var pagesize = 10;
var Countys = $("#Countys").val(); //县
var enddate = $("#enddate").val(); //结束时间
var begindate = $("#begindate").val(); //开始时间
$.ajax(
url: "",
type: "POST",
data: "Countys": Countys, "enddate": enddate, "begindate": begindate, "curpage": curpage, "pagesize": pagesize ,
dataType: "json",
error: function (xhr, status, errMsg) window.location.href = "/CommonError/index/" + errMsg.code + "?txt=" + errMsg.msg; ,
success: function (mydata)
var str = "";
$.each(mydata.Tdata, function (i, item)
str += "<tr>"
str += "<td>" + $.FormatDateTime(item.ControlBeginTime, false) + "</td>";
str += "<td>" + $.FormatDateTime(item.ControlEndTime, false) + "</td>";
str += "<td>" + item.Name + "</td>";
str += "<td>" + item.PlateNumber + "</td>";
str += "<td>" + item.ControlDept + "</td>";
if (item.IsAll == "0")
str += "<td>全县布控</td>";

else
str += "<td>按卡口点布控</td>";

str += "<td>" + item.IsAll == "0" ? "全县布控" : "按卡口点布控" + "</td>";
str += "<td>修改</td>";
str += "<td>删除</td>";
str += "<td>详细</td>";
str + "</tr>";
);
$("#srh_rslt tbody").html(str);
$(".pagination").html($.PageFunc(mydata.total, pagesize, curpage, "QueryList"));

);

以上是关于jquery插件怎样使用和修改?的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Vue.js中使用jquery插件

怎样在Vue.js中使用jquery插件

(jquery 插件开发)怎样作出这样的效果,点击add弹出一个表(这是jqgrid的效果)

jquery在线QQ客服插件 拉动底下滚动条,怎样才能使插件随着往右移

[译]怎样在Vue.js中使用jquery插件

jquery中加载完进度条插件怎样跳入下一个网页