jquery实现,jquery实现弹窗

jquery如何实现一个表格的筛选,也就是按条件查找筛选

1、首先新建html文档,向下查找兄弟标签:.next()。

成都创新互联主要从事成都网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务黎城,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

2、jquery支持链式操作,向下查找兄弟标签的兄弟标签:.next().next()。

3、接着向下查找所有兄弟标签:nextAll(),向下查找一直找到某个条件为止:nextUntil('条件')。

4、向上查找兄弟标签:.prev(),向上查找所有兄弟标签:prevAll(),向上查找一直找到某个条件为止:prevUntil('条件')。

5、最后查找父标签:parent(),查找所有父标签:parents(),如果没有人拦着,会一直找找到最上面的父标签(没什么用),条件满足时停止查找:parentsUntil('body') 。

jquery实现垂直和水平菜单导航栏

本文实例为大家分享了jquery菜单导航栏的实现代码,供大家参考,具体内容如下

1.

HTML代码

!DOCTYPE

html

html

head

meta

charset="UTF-8"

title竖直导航菜单/title

link

href="css/Vmenu.css"

rel="stylesheet"

/

script

src="js/jquery-2.1.4.min.js"/script

script

$(function(){

//垂直导航栏,点击下拉子菜单

$(".maina").click(function(){

$(this).next().slideToggle(500)

.parent().siblings().find(".child").slideUp(500);

})

//水平导航栏,鼠标经过下拉导航栏

$(".hmain").hover(function(){

$(this).find(".child").slideToggle(500)

.parent().siblings().find(".child").slideUp();

})

})

/script

/head

body

!--垂直导航栏--

ul

class="content"

li

class="main"a

href="#"菜单

1/a

ul

class="child"

li菜单1.1/li

li菜单1.2/li

li菜单1.3/li

/ul

/li

li

class="main"a

href="#"菜单

2/a

ul

class="child"

li菜单2.1/li

li菜单2.2/li

li菜单2.3/li

li菜单2.4/li

/ul

/li

li

class="main"a

href="#"菜单

3/a

ul

class="child"

li菜单3.1/li

li菜单3.2/li

li菜单3.3/li

/ul

/li

li

class="main"a

href="#"菜单

4/a

ul

class="child"

li菜单4.1/li

li菜单4.3/li

/ul

/li

li

class="main"a

href="#"菜单

5/a

ul

class="child"

li菜单5.1/li

li菜单5.2/li

/ul

/li

/ul

!--水平导航栏--

ul

class="content"

li

class="hmain"a

href="#"菜单

1/a

ul

class="child"

li菜单1.1/li

li菜单1.2/li

li菜单1.3/li

/ul

/li

li

class="hmain"a

href="#"菜单

2/a

ul

class="child"

li菜单2.1/li

li菜单2.2/li

li菜单2.3/li

li菜单2.4/li

/ul

/li

li

class="hmain"a

href="#"菜单

3/a

ul

class="child"

li菜单3.1/li

li菜单3.2/li

li菜单3.3/li

/ul

/li

li

class="hmain"a

href="#"菜单

4/a

ul

class="child"

li菜单4.1/li

li菜单4.3/li

/ul

/li

li

class="hmain"a

href="#"菜单

5/a

ul

class="child"

li菜单5.1/li

li菜单5.2/li

/ul

/li

/ul

/body

/html

2.

CSS代码

*{

margin:

0px;

padding:

0px;

}

.content{

margin:

40px

100px;

float:

left;

}

ul

,li{

list-style:

none;

}

.main,.hmain{

width:

150px;

background:

#222;

font-size:

16px;

text-align:

center;

cursor:

pointer;

line-height:

40px;

color:

white;

}

.maina,.hmaina{

text-decoration:

none;

color:

white;

display:

inline-block;

width:

150px;

min-height:

40px;

}

.main:hover,.hmain:hover{

background:

black;

}

.child{

background:

#444;

display:none;

}

.child

li:hover{

background:

#333333;

}

/*垂直导航栏左浮动*/

.hmain{

float:

left;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

用jQuery如何实现

!DOCTYPE HTML

html lang="en"

head

meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /

meta http-equiv="Content-Type" content="text/html;charset=UTF-8"

titletest/title

link rel="stylesheet" href="css.css" type="text/css" media="screen"

script src=""/script

/head

body

style type="text/css"table tr td{border:1px solid #ddd;padding:15px;text-align: center;background: #f3f3f3}input{text-align: center;}/style

div/div

div/div

table id="t"

tr

td/tdtdname/tdtd单价/tdtd数量/tdtd总价/tdtddel/td

/tr

tr

td1/tdtdhtc/tdtd¥span1395.00/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td

/tr

tr

td2/tdtdapple/tdtd¥span5555.00/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td

/tr

tr

td3/tdtdMac/tdtd¥span9999/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td

/tr

tr

td COLSPAN='6'合计:¥span/span/td

/tr

/table

input type="button" value="加一行" onclick="tr_more()"

script type="text/javascript"

$(function(){

heji();

})

function heji(){

var tr=$("#t").find("tr").length;

var total=0;

for(i=1;itr-1;i++){//略过第一行和最后一行

var price=$('table#t tr:eq('+i+') td:eq(2)').find('span').html();

var num=$('table#t tr:eq('+i+') td:eq(3)').find('input:eq(1)').val();

$('table#t tr:eq('+i+') td:eq(4)').find('span').html('¥'+eval(price*num));

total=eval(total+eval(price*num));

}

$('table#t tr:eq('+eval(tr-1)+') td').find('span').html(total);

}

function less(e){

var num=$(e).parent().find('input:eq(1)').val();

if(num=0){num=0}else{num--}

$(e).parent().find('input:eq(1)').val(num);

heji();

}

function more(e){

var num=$(e).parent().find('input:eq(1)').val();

if(num0){num=0}else{num++}

$(e).parent().find('input:eq(1)').val(num);

heji();

}

function del(e){

$(e).parent().parent().remove();

heji();

}

function tr_more(){

var tr=$("#t").find("tr").length;

var trr=tr-2;

var newRow = "trtd"+eval(tr-1)+"/tdtdMac/tdtd¥span9999/span/tdtdinput type='button' value='-' onclick='less(this)'input type='text' style='width:30px' name='num' value='1'input type='button' value='+' onclick='more(this)'/tdtdspan/span/tdtdspan onclick='del(this)'del/span/td/tr";

$('table#t tr:eq('+trr+')').after(newRow);

heji();

}

/script

/body

/html

jQuery内部原理和实现方式浅析

这段时间在学习研究jQuery源码,受益于jQuery日益发展强大,研究jQuery的大牛越来越多,学习的资料也比前两年好找了,有很多非常不错的资源,如高云的jQuery1.6.1源码分析系列。这些教程非常细致的分析了jQuery内部原理和实现方式,对学习和理解jQuery有非常大的帮助。但是个人认为很多教程对jQuery的整体结果把握不足,本人试图从整体来阐述一下jQuery的内部实现。

大家知道,调用jQuery有两种方式,一种是高级的实现,通过传递一个参数实现DOM选择,如通过$(“h1″)选择所有的h1元素,第二种是较为低级的实现,如果通过$.ajax实现ajax的操作。那么,这两种方式到底有何不同?用typeof函数检测$(‘h1′)和$.ajax,类型分别为object和function,稍微学过jQuery的都知道或者听过过,前者返回的是一个jQuery对象,那么jQuery对象是什么,它和jQuery是什么关系呢?我们先来通过for(var

i

in

$(”))

document.write(i+”

:::”+$(“”)[i]+””);打印一下jQuery对象的属性和对应的值,可以看到它有100多个属性,通过console输入$(“*”)可以看到大部分属性是继承自jQuery原型的属性,jQuery对象实际上是这样一个对象:

所以我们来推测,jQuery的实现可能是类似这样的:

function

jQuery(){

this[0]="Some

DOM

Element";

this[1]="Some

DOM

Element";

this[2]="Some

DOM

Element";

this.length=3;

this.prevObject="Some

Object";

this.context="Some

Object";

this.selector="Some

selector";

}

jQuery.prototype={

get:function(){},

each:function(){},

......

}

这些代码通过new操作符就就能创建出拥有上述属性的jQuery对象,但是实际上我们调用jQuery创建jQuery对象时并没有使用new操作符,这是如何实现的呢?来看jQuery的实现:

var

jQuery

=

function(

selector,

context

)

{

//

The

jQuery

object

is

actually

just

the

init

constructor

'enhanced'

return

new

jQuery.fn.init(

selector,

context,

rootjQuery

);

}

jQuery.fn=jQuery.prototype={

jquery:

core_version,

init:function(selector,context){

//some

code

return

this;

}

//some

code

there

//......

}

jQuery.fn.init.prototype=jQuery.fn;

这里有几点做得非常巧妙的地方,第一点是通过jQuery原型属性的init方法来创建对象来达到不用new创建对象的目的,第二点是对init方法内this指向的处理。我们知道,通过调用init返回一个jQuery的实例,那么这个实例就必须要继承jQuery.prototype的属性,那么init里面这个this,

就继承jQuery.prototype的属性。但是init里面的this,受制于作用域的限制,并不能访问jQuery.prototype其它的属性,jQuery通过一句'jQuery.fn.init.prototype=jQuery.fn'把它的原型指向jQuery.fn,这样以来,init产生的jQuery对象就拥有了jQuery.fn的属性。

到这里,一个jQuery的基本原型就浮出水面了。这里有两个对象,一个是jQuery这个构造函数,另外一个是这个构造函数产生的对象(我们称之为jQuery对象,它和普通对象没有什么区别),

如下关系图:

可以看到jQuery构造函数和jQuery.prototype均有各自的属性和方法,两者的调用方法各不一样,这两个对象都有一个extend方法,都是用来扩展自身的属性和方法,在jQuery内部,extend的实现实际是靠一样的代码,

将在后面的源码分析中做以详细的分析。

jQuery实现获取绑定自定义事件元素的方法

本文实例讲述了jQuery实现获取绑定自定义事件元素的方法。分享给大家供大家参考,具体如下:

(function

($)

{

//

自定义itemtab事件

$.fn.bind

=

function(types,

data,

fn)

{

//

重载jQuery.fn.bind方法,用来截获绑定自定义事件的元素

if(typeof

types

==

'string'

'itemtab'

==

types)

{

var

itemTouchStart

=

-1;

//

touchstart位置

var

itemTouchMove

=

-1;

//

touchend位置,值为-1时表示未触发

var

itemTriggerDistance

=

0;

//

拖动距离阀值,若大于该值则为拖动列表,若小于等于该值则为点击列表项

var

itemMoved

=

false;

//

列表是否为拖动状态

$(this).bind('touchstart',

function

(event)

{

if(!event.originalEvent.touches.length)

return

true;

itemMoved

=

false;

itemTouchStart

=

event.originalEvent.touches[0].pageX;

//

记录起始位置

}).bind('touchmove',

function

(event)

{

if(!event.originalEvent.touches.length)

return

true;

itemTouchMove

=

event.originalEvent.touches[0].pageX;

//

当前拖动位置

//console.log('touchmove:',

itemTouchStart,

itemTouchMove,

itemMoved);

if(Math.abs(itemTouchMove

-

itemTouchStart)

itemTriggerDistance)

{

itemMoved

=

true;

//

列表被拖动

}

}).bind('touchend',

function

(event)

{

//console.log('itemMoved:',

itemMoved);

if(itemMoved)

{

//

列表被拖动过,非点击操作

return

true;

}

$(this).trigger('itemtab');

//

触发自定义事件

});

}

return

this.on(

types,

null,

data,

fn

);

//

这种做法具有侵入性,多个类似的代码会相互覆盖,可采用深度复制方式调用原$.fn.bind方法

}

})(jQuery);

希望本文所述对大家jQuery程序设计有所帮助。

如何用jquery实现页面跳转

例:img src="img/1.jgp" /;

//点击图片事件

$("img").click(function(){

//点击图片后发送跳转到指定页面的事件。

window.location.href="输入另一个页面的链接";


网页标题:jquery实现,jquery实现弹窗
当前网址:http://scyanting.com/article/dsddsoe.html