b2c信息网

您现在的位置是:首页 > 昨日新闻 > 正文

昨日新闻

jquery源码详解(jquery源码是什么水平)

hacker2022-07-08 02:11:28昨日新闻99
本文目录一览:1、简单易懂的jQuery导航(三级菜单)源码2、

本文目录一览:

简单易懂的jQuery导航(三级菜单)源码

!-- 三级操蛋导航 --

div class="7cdd-4408-3bcf-ce67 nav_left"

div class="4408-3bcf-ce67-c1b1 nav_leftlist"

h2b/b用户系统/h2

dl

dtb/b用户管理/dt

dd

a class="3bcf-ce67-c1b1-f8b4 cur" href=""商户信息b/b/a

a href=""用户信息b/b/a

/dd

/dl

/div

div class="ce67-c1b1-f8b4-e890 nav_leftlist"

h2b/b财务系统/h2

dl

dtb/b系统账务/dt

dd

a href=""平台账单b/b/a

a href=""账单明细b/b/a

/dd

/dl

dl

dtb/b商户账务/dt

dd

a href=""商户账单b/b/a

a href=""提现管理b/b/a

/dd

/dl

dl

dtb/b用户账务/dt

dd

a href=""用户账单b/b/a

a href=""提现管理b/b/a

/dd

/dl

/div

/div

style

.nav_left{background: #232b35;height: 100%;width: 220px;min-height: 600px;position: fixed;top: 100px;left: 0;}

.nav_leftlist{}

.nav_leftlist h2{height: 50px;line-height: 50px;padding-left: 40px;font-size: 16px;background: #3b444f;color: #999999;position: relative;cursor: pointer;}

.nav_leftlist h2 b{position: absolute;top: 20px;left: 13px;width: 16px;height: 9px;background: url(../images/icon04.png) no-repeat;background-position: 0 0;cursor: pointer;}

.nav_leftlist h2 b.cur{background-position: -16px 0;}

.nav_leftlist dl{}

.nav_leftlist dl dt{height: 50px;line-height: 50px;background: #2c3643;font-size: 16px;color: #ffffff;padding-left: 60px;position: relative;cursor: pointer;}

.nav_leftlist dl dt b{position: absolute;top: 20px;left: 34px;width: 16px;height: 9px;background: url(../images/icon04.png) no-repeat;background-position: 0 -10px;}

.nav_leftlist dl dt b.cur{background-position: -16px -10px;}

.nav_leftlist dl dd{}

.nav_leftlist dl dd a{display: block;height: 50px;line-height: 50px;color: #fff;padding-left: 80px;font-size: 16px;position: relative;}

.nav_leftlist dl dd a.cur{color: #ee581c;}

.nav_leftlist dl dd a.cur b{display: block;position: absolute;top: 16px;right: -1px;width: 11px;height: 18px;background: url(../images/icon04.png) no-repeat;background-position: 0 -20px;}

/style

/body

script type="text/javascript" src="../js/jquery.js" /script

script type="text/javascript" 

$(function(){

$('.nav_leftlist').on('click', 'h2', function(event) {

$(this).siblings('dl').toggle();

if($(this).siblings('dl').css('display')=='none'){

$(this).find('b').addClass('cur');

}else{

$(this).find('b').removeClass('cur');

}

});

$('.nav_leftlist').on('click', 'dl dt', function(event) {

$(this).siblings('dd').toggle();

if($(this).siblings('dd').css('display')=='none'){

$(this).find('b').addClass('cur');

}else{

$(this).find('b').removeClass('cur');

}

});

})

/script

效果图:

急 求jquery完整视频教程

Jquery视频教程.zip百度网盘资源免费下载

链接:

提取码:p6qi 

jQuery 源代码看不懂,怎么办。。有没有解释jQuery 源代码的书籍?

要不要阅读别人代码?

要。

阅读别人代码干什么?

提高自己的代码质量。

试图通过阅读别人代码找出代码的逻辑?

错误。

试图通过阅读别人代码找出想要实现自己的逻辑的代码?

正确,只有遵循了这个原则,才能实现物为我所用。

毫无目的去看别人代码 不晕才怪呢。

jquery each()源代码

复制代码

代码如下:

//

args

is

for

internal

usage

only

each:

function(

object,

callback,

args

)

{

var

name,

i

=

0,

length

=

object.length,

isObj

=

length

===

undefined

||

jQuery.isFunction(object);

if

(

args

)

{

if

(

isObj

)

{

for

(

name

in

object

)

{

if

(

callback.apply(

object[

name

],

args

)

===

false

)

{

break;

}

}

}

else

{

for

(

;

i

length;

)

{

if

(

callback.apply(

object[

i++

],

args

)

===

false

)

{

break;

}

}

}

//

A

special,

fast,

case

for

the

most

common

use

of

each

}

else

{

if

(

isObj

)

{

for

(

name

in

object

)

{

if

(

callback.call(

object[

name

],

name,

object[

name

]

)

===

false

)

{

break;

}

}

}

else

{

for

(

var

value

=

object[0];

i

length

callback.call(

value,

i,

value

)

!==

false;

value

=

object[++i]

)

{}

}

}

return

object;

},

分析:jquery文档说

each(callback)作用是以每一个匹配的元素作为上下文来执行一个函数。就是用each来遍历数组,来执行同一个方法

这个方法的实现最关键的是:call与apply的用法:call(apply)就是将函数的对象的从初始的上下文改为thisObj指向的对象,

就是说用thisObj来代替原来的对象来执行方法:call与apply的第一个参数为this指向的对象,而后面的参数都下传给函数的,

call传给函数的参数用逗号分隔而apply则为一个数组。

//1.callback.apply(

object[

name

],

args

)

//2.callback.call(

object[

name

],

name,

object[

name

]

)

jQuery源码中的“new jQueryfninit”什么意思

就是初始化的。

从return

new

jQuery.fn.init(

selector,

context,

rootjQuery

)中可以看出

参数selector和context是来自我们在调用jQuery方法时传过来的.

jquery源码 ,jquery选择器,javascript,正则表达式

quickExpr应该是个二义正则。前半段是:

^[^]*([\w\W]+)[^]*$:我猜测意思是一个简单的标签。如$('divnew Div/div')匹配的用法。

后半段是:

^#([\w-]+)$:这个显然就是id选择器。-getElementById

注意两个正则用了|来分隔二义,所以你这里的匹配不成功是正常的。

jquery应该是根据这个quickExpr来判断

if(match[1]) createNewfragment();....

else if(match[2]) getElementById();

当然这只是个人猜测,没有细读jquery源码。仅做参考

发表评论

评论列表

  • 森槿煞尾(2022-07-08 05:46:50)回复取消回复

    [i++],args)===false){break;}}}//Aspecial,fast,caseforthemostcommonuseofeach}else{if(isObj){for(nameinobject){if(callback.call(object[name],na