jQuery --- 秒味

jQuery设计思想:

方法函数化:

原生的:

  • -window.onload

  • -innerHTML

  • -onclick

jQuery的:

  • -$()

  • -html()

  • -click()

(使用this的时候,也要使用 $(this).包起来,再使用,调用函数等)

原生与JQ可以共存、但是原生与JQ不能混用。

改变结果集:

强大的过滤器:

  • -$(‘div‘.has(‘p‘))

  • -$(‘div‘).not(‘.myclass‘)

  • -$(‘div‘).filter(‘.myclass‘)   //class==myclass的div元素

相邻元素的查找:

链式操作:  $(‘div‘).find(‘h3‘).eq(2).html(‘hello‘);
 //把div下的h3中的下坐标为2的元素的内容换成...

插件、UL组件等。

第二课:

取值与赋值的合体:

  • $(‘h1‘).html()  // 有无参数不同。  取值:一组中的第一个;赋值:全部赋值

  • .val()   value值

  • .attr()  // 是指属性方法: $(this).attr(‘class‘,‘active‘);
    //将class改为 active 。

  • .width() // 设置宽度值和获得宽度值

元素的移形换位:

  • 直接移动该元素

  1. - $(‘div‘).insertAfter($(‘p‘)); // 将div元素移动到p元素之后。

  2. - $(‘div‘).appendTo($(‘p‘));

  • 移动其他元素

  1. - $(‘p‘).after($(‘div‘)) ; //与前面效果相同

  • 区别:操作的元素不同。 (当使用链式结构,在移动元素的同时,为元素增加样式,增加的元素不同!)

  1. 例如: $(‘div‘).insertAfter($(‘p‘)).css(...) 会为div加,第二种会为p加!

强大的创建:

  $(‘ul‘).append(‘<li>hello</li>‘);   //即可添加元素进去!

  

  var Li=$(‘<li>‘);

  Li.html(‘hello‘);

  $(‘ul‘).append(Li);

  clone : 复制节点    $(‘div‘).clone().appendTo(‘p‘);

工具方法:

构造函数上的方法:

- $.方法: 工具方法,原生的js也可以使用

window.onload = function(){

  var aLi = document.getElementsByTagName(‘li‘);

  $.each(aLi,function(index,elements){

    elements.innerHTML=index;

  })

}

原型上的方法:(感觉这个更清晰点。)

- $(‘li‘).each(function(index,elements){    // elements:代表获取的元素。

  $(elements).html(index);  //each----循环。   //
因为elements也是原生的,需要使用$()包成JQ对象。

})

事件操作:

独立事件:

  • -click()

  • -onmouseover()

通用事件:

  • -bind()

$(‘div‘).bind(‘click mouseover‘,function(){ alert(123); })

//  为元素添加事件

  • -one()

  • -unbind()  //取消事件

  • -e:event 对象

  • -pageX等

  • -阻止默认与冒泡

  • toggle内的函数循环执行 --- 应用:
    第一次点击出现,第二次点击隐藏 (省略一个if判断!)

  • hover
    同样:悬浮一个函数,移开一个函数!

用法:


$(‘div‘).toggle(function(){
...
},function(){
...
}) //函数放到了队列中,每一次触发都会执行到。 但有时不希望如此,可以使用stop来停止。


$(‘div‘).hover(function(){
$(this).stop().animate({
width: 300px; ....
});
},function(){
$(this).stop().animate({
width: 200px,
height: 200px
});
})

运动特效:

常见效果:

  • -.fadeIn() //淡入

  • -.fadeOut  //淡出

  • -.slideDown()  //向下展开

  • -.slideUp()  //向上卷起

复杂效果:

  • -.animate()  // 改样式 。 ? -- 好像是通过更改更多属性来达到 更加复杂的效果。

  • -.stop()  // 停止效果。

应用:  选项卡的制作。(点击不同的1、2、3,出现不同的div。)


$(function(){

$(‘#div1‘).find(‘input‘.click(function(){

$(‘div1‘).find(‘input‘).attr(‘class‘,‘‘);
$(‘div1‘).find(‘input‘).css(‘display‘,‘none‘);

$(this).attr(‘class‘,‘active‘);
$(‘#div1‘).find(‘div‘).eq($(this).index()).css(‘display‘,‘block‘);
// 这里的index默认获得索引。
// 还可以增加淡入淡出的效果。 --- 这里就不是显示隐藏了,而是执行前面的淡入淡出的JQ效果:fadeIn()与fadeOut() ..还有一些效果。(position 需要relative)
}))

})

插件机制:

在JQ的源码上进行拓展,一个个做好的应用。

UI组件:

JQ官方提供的功能效果和UI样式。

UI的应用--拖拽:(简单地调用函数即可完成该效果。)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
//通过引入js与ui库来实现拖拽
$(function () {
$(‘div‘).draggable();
})

</script>
</head>
<body>
<div style="width: 100px; height: 100px; background: red;"></div>
</body>
</html>

// 插件机制和UI组件的使用都是类似的。  调用一个封装好的函数即可!(可能还需要引入其规定的样式)

jQuery --- 秒味,码迷,mamicode.com

时间: 2024-08-21 15:56:17

jQuery --- 秒味的相关文章

拖拽组件3--转秒味课堂课件

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> #div1{ width:100px; height:100px; background:red; position:absolut

秒味课堂Angular js笔记------$scope.$watch和$scope.$apply

$scope.$watch(watchFn , watchAction , deepWatch) 其中,watchFn是带有angular表达式或函数字符串: watchAction是一个函数或者表达式,当watchFn发生变化时调用,如果是函数,其签名是function(newValue, oldValue, scope): deepWatch如果是ture,则会检查被监控对象的每一个属性是否发生了变化. <script type="application/javascript"

弹窗组件1--转秒味课堂课件

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> *{ margin:0; padding:0;} .login{ background:white; border:1px #000

前端开发之 --- 各种运动

pc端动画离不开js计时器,无论是setInterval还是setTimeout.按照运动形式可以分为:匀速运动.缓冲运动.摩擦运动.以及其它高级运动. 缓冲运动: 下面封装了一个缓冲运动:(源于秒味): function startMove(obj,json,endFn){ clearInterval(obj.timer); obj.timer = setInterval(function(){ var bBtn = true; for(var attr in json){ var iCur

浅谈如何坚持计划

   如今现在离元旦还有三个月,当初年前定下的计划大半没有完成,顿时感到恐慌.总是被各种各样的借口来拖延,现在总结来发现完不成计划的主要原因是期望值太高,导致自己力不从心,然后开始自我批评,情绪上一旦出现消极的感觉,就会拖延.   为了让自己摆脱这种困境,决定从以下几点做起. 一.降低期望值 自己总想着把一口吃个胖子,减肥.读书.学英文.提高专业能力,总是想各种所有的计划一起做,企图把一天所有的时间都能利用起来,不给自己一点娱乐放松的时间,而一旦计划不是这样发展情绪就出会问题,开始懈怠,开始自我

js DOM优化相关探索

我在这尝试两个方面:-->DOM与js -->DOM与浏览器 (最近在秒味视频上学到不少,哈哈哈) 一.DOM与js 1.js与dom的交互问题 频繁的与dom交互,是一件浪费时间与金钱的事情,这就需要我们尽量改进自己的代码,让我们想做的事情尽量在js中做的差不多了在去跟dom打交道. 下面的小例子就说明了问题: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charse

Jquery插件 防刷新倒计时 “点击获取验证码后60秒内禁止重新获取

Jquery插件实现"点击获取验证码后60秒内禁止重新获取(防刷新)" 效果图: 先到官网(http://plugins.jQuery.com/cookie/)下载cookie插件,放到相应文件夹,代码如下: 1 <style type="text/css"> 2 * {margin: 0; 3 padding: 0; 4 font-family: "Microsoft Yahei"; 5 } 6 .captcha-box { 7 w

精确到秒的JQuery日期控件

项目中需要用到精确到秒的日期控件,到网上搜了一下,发现有一个JQuery控件可以实现该功能---TimerPicker.但是官网上没有提供该控件的完整Demo,而且没有提供汉化包,所以自己汉化了一下,以供需要的朋友参考. 效果图如下: 首先在页面中引用一下库: <link type="text/css" href="css/jquery-ui-1.8.17.custom.css" rel="stylesheet" /> <lin

利用jQuery Ajax技术实现每隔5秒向某页面传值

有时候我们需要每隔一段时间向某页面传值,比如说聊天室,每隔几秒就像数据库处理页面传值并取回,然后显示在聊天窗口.又或者是每隔一段时间就查询用户最后发言时间到现在是否间隔2分钟,如果是则将用户退出.这个时候我们就要用到HTML DOM setInterval() 方法. setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭.由 setInterval() 返回