jQuery siblings()

方法返回被选元素的所有同胞元素,并且可以使用可选参数来过滤对同胞元素的搜索。

实例演示:点击某个li标签后将其设置为红色,而其所有同胞元素去除红色样式

  1. 创建Html元素

<div class="box">
               <span>点击li元素设置红色并去除其余所有同胞元素的红色样式:</span><br>
               <div class="content">
                               <li>栗子</li>
                               <li>李子</li>
                               <li>梨子</li>
                               <li>荔枝</li>
               </div>     
</div>

  1. 设置css样式

div.box{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}
div.box span{color:#999;font-style:italic;}
div.content{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}
li{padding:10px;}
.red{color:red;}

  1. 编写jquery代码

$(function(){
               $("li").click(function() {
                               $(this).addClass('red');    // 设置被点击元素为红色
                               $(this).siblings('li').removeClass('red'); // 去除所有同胞元素的红色样式
               })
})

  1. 观察效果
  • 点击李子,李子呈红色,其余li元素正常

animate()

函数用于执行一个基于css属性的自定义动画

你可以为匹配的元素设置css样式,animate()函数将会执行一个从当前样式到指定的css样式的一个过渡动画。

例如:某个div元素的当前高度为100px,将其CSS height属性设为200px,animate()将会执行一个将div元素的高度从100px逐渐增加到200px的过渡动画。

该函数属于jQuery对象(实例)。

语法

jQuery 1.0 新增该函数。animate()函数主要有以下两种形式的用法:

用法一

jQueryObject.animate( cssProperties [, duration ] [, easing ] [, complete ] )

用法二

jQueryObject.animate( cssProperties, options )

用法二是用法一的变体。以对象形式指定所需的选项参数(可指定比用法一更多的选项参数)。

参数

参数

描述

cssProperties

Object类型一个或多个css属性的键值对所构成的Object对象。

duration

可选/String/Number类型指定动画运行多长时间(毫秒数),默认值为400。该参数也可以为字符串"fast"(=200)或"slow"(=600)。

easing

可选/String类型指定使用何种动画效果,默认为"swing",还可以设为 "linear"或其他自定义的动画样式函数。

complete

可选/Function类型元素显示完毕后需要执行的函数。函数内的this指向当前DOM元素。

options

Object类型指定的选项参数对象。

参数options对象可以识别如下的属性(以下属性均是可选的):

属性

属性描述

duration

参见参数duration。

easing

参见参数easing。

complete

参见参数complete。

queue

Boolean类型指示是否将动画放入效果队列中,默认为true。从1.7版本开始,该参数可以为字符串,用于放入指定名称的效果队列。如果你指定的队列不会自动开始,你需要手动调用dequeue("queueName")来启动队列。

此外,jQuery 1.4 和 1.8 还为参数options新增了许多新的选项支持,但这些参数并不常用,此处不再赘述,详见jQuery官方文档

返回值

animate()函数的返回值为jQuery类型,返回当前jQuery对象本身。

示例&说明

除了以下提到的值外,所有动画css属性都应该可以变化为一个单一的数值。使用基本的jQuery功能,大多数非数值的css属性都无法用来执行动画。例如:width、height、left、top都可用于动画,但color、background-color无法用于动画(除非使用jQuery.Color()插件)。除非你为属性值指定了单位(例如:px、em、%),否则默认的数值单位为像素(px)。

速写的css属性可能无法获得完整全面的支持,例如:border、margin等,因此不推荐使用。

你还可以将css属性值设为一些特定的字符串,例如:"show"、"hide"、"toggle",则jQuery会调用该属性默认的动画形式。

此外,css属性值也可以是相对的,你可以为属性值加上前缀"+="或"-=",以便于在原来的属性值上增加或减少指定的数值。例如:{ "height": "+=100px" },表示在原有高度的基础上增加100px。

请参考下面这段初始HTML代码:

<div id="myDiv" style="width:300px; height: 100px; ">CodePlayer</div>
动画效果:
<select id="animation">
    <option value="1">动画1</option>
    <option value="2">动画2</option>
    <option value="3">动画3</option>
    <option value="4">动画4</option>
    <option value="5">动画5</option>
</select>
<input id="exec" type="button" value="执行动画" >

以下是与animate()函数相关的jQuery示例代码,以演示animate()函数的具体用法:

$("#exec").click( function(){
    var v = $("#animation").val();
    var $myDiv = $("#myDiv");
    if(v == "1"){
        // 数值的单位默认是px
        $myDiv.animate( { height: 200 } );
    }else if(v == "2"){
        // 在现有高度的基础上增加300px (如果原来是100px,增加后就是400px)
        // 多个动画连续执行
        $myDiv.animate( { height: "+=300px" }, "slow" );
        $myDiv.animate( { width: "50%" }, 1000 );      
        $myDiv.animate( { width: "200px", height: "100px" }, 1000 );        
    }else if(v == "3"){
        //
font-size或fontSize均可,由多个单词构成的属性均是如此
        $myDiv.animate( { fontSize: "30px" }, 2000 );
        $myDiv.animate( { fontSize: "14px" }, 2000, function(){
            alert("动画3执行完毕!");
        });
    }else if(v == "4"){
        $myDiv.animate( { width: "50%", height: "50%" }, { duration: 2000, easing: "linear" });
    }else if(v == "5"){
        // 根据高度切换显示/隐藏,显示时高度从0增加到原高度,隐藏时高度从原高度减小到0
        $myDiv.animate( { height: "toggle" });
    }  
} );

Jquery知识小点备注的更多相关文章

  1. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

  2. web前端体系-了解前端,深入前端,架构前端,再看前端。大体系-知识-小细节

    1.了解前端,深入前端,架构前端,再看前端.大体系-知识-小细节 个人认为:前端发展最终的导向是前端工程化,智能化,模块化,组件化,层次化. 2.面试第一关:理论知识. 2-1.http标准 2-2. ...

  3. jQuery知识梳理20190818

    目录 jQuery知识梳理20190818 1. 时间绑定和解绑 2. 区别mouseover与mouseenter 3. 时间委托(委派/代理) 4 . 多库共存 5.window.onload与$ ...

  4. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  5. 分析一个类似于jquery的小框架

    在网上下了一个类似于jQuery的小框架,分析源码,看看怎么写框架. 选择器Select //用沙箱闭包其整个代码,只有itcast和I暴漏在全局作用域 (function( window , und ...

  6. jquery mobile小案例

    ---恢复内容开始--- [jquery mobile小案例]效果图如下: 首先先创建一个页面主要使用data-role="page"这个指令,我们给它起个id="pag ...

  7. jQuery拼图小游戏

    jQuery拼图小游戏 最后样式 核心代码部分 <script type="text/javascript" > $(function () { $("td& ...

  8. $Django 路飞之显示视频,Redis存购物车数据,优惠卷生成表,优惠卷的一个领取表。(知识小回顾)

    知识小回顾之json序列化问题 精髓:支持python的几种数据类型(注意不是对象,不能放对象),其次是tuple变list. ensure_ascii:默认值True,如果dict内含有non-AS ...

  9. jQuery 知识体系

    jQuery基础知识一 jQuery之知识二-选择器 [jQuery知识]jQuery之知识三-过滤器 [jQuery知识]jQuery之知识四-DOM和CSS操作 [jQuery知识]jQuery之 ...

随机推荐

  1. 【转载】linux环境下为firefox/chrome浏览器安装flash player

    本文转载自 http://blog.sina.com.cn/s/blog_6ad624380102v1xf.html     firefox安装flash player的方法: 先到adobe网站上下 ...

  2. java中创建多线程的方式

    在java中比较常用的有三种创建多线程的方式. 方式一:继承Thread类,要重写run方法. 在MyThread类 public class MyThread extends Thread { @O ...

  3. Python异常处理体系

    1.Python内建异常体系结构 The class hierarchy for built-in exceptions is: BaseException  +-- SystemExit  +-- ...

  4. MC34063+MOSFET扩流 12V-5V 折腾出了高效率电路(转)

    源:http://www.amobbs.com/thread-5484710-1-1.html 从网上找到一些MC34063扩流降压电路图,一个个的试,根本达不到我的基本要求,全都延续了34063的降 ...

  5. .net remoting 实现通用消息处理窗口

    .net remoting 实现通用消息处理窗口 实现机制是制作一个cmd窗口作为信息展示窗口,主程序将需要展示的信息抛出到cmd窗口显示,以此方式做到消息的展示. 以下是cmd窗口的代码,cmd窗体 ...

  6. C++ string 类重写

    (我们知道学习C++时,在学习完C的基础内容后最先上手的就是C++的string类来学习字符串处理的内容,这里我们通过重写string类来重新认识字符串处理的内容) 1.树立string类主要函数,确 ...

  7. [算法] aov图拓扑算法

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <queue> ...

  8. 控制流之if

    if语句if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ), 否则 我们处理另外一块语句(称为 else-块 ). else 从句是可选的. ~~~~~~~~~~~~~~ ...

  9. Sping--自动装配(byname, bytype)

    UserDAOImpl.java: package com.bjsxt.dao.impl; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.U ...

  10. keil mdk中如何确保某一段程序不被优化掉(转)

    源:keil mdk中如何确保某一段程序不被优化掉 使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在RO ...