jQuery使用手册之三 CSS操作


Posted in Javascript onMarch 24, 2007

传统javascript对css的操作相当繁琐,比如<div id="a" style="background:blue">css</div>取它的background语法是 document.getElementById("a").style.background,而jQuery对css更方便的操作,$("#a").background(),$("#a").background(“red”)
$("#a")得到jQuery对象[ <div id="a" … /div> ]
$("#a").background()将取出该对象的background样式。
$("#a").background(“red”)将该对象的background样式设为redjQuery提供了以下方法,来操作css
background ()   background (val)     color()    color(val)     css(name)    css(prop)   
css(key, value)      float()   float(val)   height()   height(val)  width()  width(val) 
left()   left(val)       overflow()   overflow(val)   position()   position(val)  top()   top(val)


这里需要讲解一下css(name)  css(prop)  css(key, value),其他的看名字都知道什么作用了!

<div id="a" style="background:blue; color:red">css</div><id="b">test</P>

css(name)  获取样式名为name的样式
$("#a").css("color") 将得到样式中color值red,("#a").css("background ")将得到blue

css(prop)  prop是一个hash对象,用于设置大量的css样式
$("#b").css({ color: "red", background: "blue" });
最终效果是<p id="b" style="background:blue; color:red">test</p>,{ color: "red", background: "blue" },hash对象,color为key,"red"为value,

css(key, value)  用于设置一个单独得css样式
$("#b").css("color","red");最终效果是<p id="b" style="color:red">test</p>

                                              :JavaScript处理

$.browser()  判断浏览器类型,返回boolen值

$(function(){
    
if($.browser.msie) {
        alert(
"这是一个IE浏览器");}
    
else if($.browser.opera) {
        alert(
"这是一个opera浏览器");}
})
当页面载入式判断浏览器类型,可判断的类型有msie、mozilla、opera、safari

$.each(obj, fn)  obj为对象或数组,fn为在obj上依次执行的函数,注意区分$().each()

$.each( [0,1,2], function(i){ alert( "Item #" + i + "" + this ); });
    分别将0,1,2为参数,传入到function(i)中
$.each({ name: "John", lang: "JS" },  function(i){ alert( "Name: " + i + ", Value: " + this );
    { name: "John", lang: "JS" }为一个hash对象,依次将hash中每组对象传入到函数中

$.extend(obj, prop)  用第二个对象扩展第一个对象

var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
$.extend(settings, options);
执行后settings对象为{ validate: true, limit: 5, name: "bar" }
可以用下面函数来测试
$(function(){
       
var settings = { validate: false, limit: 5, name: "foo" };
        
var options = { validate: true, name: "bar" };
        $.extend(settings, options);
        $.each(settings,  
function(i){ alert( i + "=" + this ); });
})

$.grep(array,fn)  通过函数fn来过滤array,将array中的元素依次传给fn,fn必须返回一个boolen,如fn返回true,将被过滤
$(function(){
        
var arr= $.grep( [0,1,2,3,4], function(i){ return i > 2; });
        $.each(arr, 
function(i){ alert(i); });
})
我们可以看待执行$.grep后数组[0,1,2,3,4]变成[0,1]

$.merge(first, second)  两个参数都是数组,排出第二个数组中与第一个相同的,再将两个数组合并

$(function(){ 
        
var arr = $.merge( [0,1,2], [2,3,4] )
        $.each(arr,  
function(i){ alert(i); });
})
可以看出arr的结果为[0,1,2,3,4]

$.trim(str)  移出字符串两端的空格
    $.trim("   hello, how are you?   ")的结果是"hello, how are you?"

                                   :动态效果

       在将这部分之前我们先看个例子,相信做网页的朋友都遇到n级菜单的情景,但点击某菜单按钮时,如果它的子菜单是显示的,则隐藏子菜单,如果子菜单隐藏,则显示出来,传统的javascript做法是先用getElementById取出子菜单所在容器的id,在判断该容器的style.display是否等于none,如果等于则设为block,如果不等于这设为none,如果在将效果设置复杂一点,当点击按钮时,不是忽然隐藏和显示子菜单,而是高度平滑的转变,这时就要通过setTimeout来设置子菜单的height了,再复杂一点透明度也平滑的消失和显现,这时显现下来需要编写很多代码,如果js基础不好的朋友可能只能从别人写好的代码拿过来修改了!jQuery实现上面效果只需要1句话就行,$("#a").toggle("slow"),,学完jQuery后还需要抄袭修改别人的代码吗?下面我们逐个介绍jQuery用于效果处理的方法。

hide()  隐藏匹配对象

<id="a">Hello Again</p><href="#" onClick=' ("#a").hide()'>jQuery</a>
当点击连接时,id为a的对象的display变为none。

show() 显示匹配对象

hide(speed)  以一定的速度隐藏匹配对象,其大小(长宽)和透明度都逐渐变化到0,speed有3级("slow", "normal",  "fast"),也可以是自定义的速度。

show(speed)  以一定的速度显示匹配对象,其大小(长宽)和透明度都由0逐渐变化到正常

hide(speed, callback)  show(speed, callback) 当显示和隐藏变化结束后执行函数callback

toggle()    toggle(speed) 如果当前匹配对象隐藏,则显示他们,如果当前是显示的,就隐藏,toggle(speed),其大小(长宽)和透明度都随之逐渐变化。

jQuery使用手册之三 CSS操作<img src="1.jpg" style="width:150px"/>
jQuery使用手册之三 CSS操作
<href="#" onClick='$("img").toggle("slow")'>jQuery</a>

fadeIn(speeds)   fadeOut(speeds)  根据速度调整透明度来显示或隐藏匹配对象,注意有别于hide(speed)和show(speed),fadeIn和fadeOut都只调整透明度,不调整大小
<img src="1.jpg" style="display:none"/><href="#" onClick='$("img ").fadeIn("slow")'> jQuery </a>
点击连接后可以看到图片逐渐显示。

fadeIn(speed, callback)  fadeOut(speed, callback)   callback为函数,先通过调整透明度来显示或隐藏匹配对象,当调整结束后执行callback函数

<img src="1.jpg"/>
<href="#" onClick='$("img ").fadeIn("slow",function(){ alert("Animation Done."); })'> jQuery </a>
点击连接后可以看到图片逐渐显示,显示完全后弹出对话框

fadeTo(speed, opacity, callback)  将匹配对象以speed速度调整倒透明度opacity,然后执行函数callback。Opacity为最终显示的透明度(0-1).

<img src="1.jpg"/><br>
<href="#" onClick='$("img ").fadeTo("slow",0.55,function(){ alert("Animation Done."); })'> jQuery </a>
大家可以看一下自己看看效果,如果不用jQuery,编写原始javascript脚本可能很多代码!

slideDown(speeds)  将匹配对象的高度由0以指定速率平滑的变化到正常!

<img src="1.jpg" style="display:none"/>
<href="#" onClick='$("img ").slideDown("slow")'>jQuery</a>

slideDown(speeds,callback)  将匹配对象的高度由0变化到正常!变化结束后执行函数callback

slideUp("slow")  slideUp(speed, callback) 匹配对象的高度由正常变化到0

slideToggle("slow") 如果匹配对象的高度正常则逐渐变化到0,若为0,则逐渐变化到正常
Javascript 相关文章推荐
javascript 贪吃蛇实现代码
Nov 22 Javascript
Javascript 复制数组实现代码
Nov 26 Javascript
js querySelector和getElementById通过id获取元素的区别
Apr 20 Javascript
JavaScript中的this关键字使用方法总结
Mar 13 Javascript
JS实现支持Ajax验证的表单插件
Mar 24 Javascript
jQuery特殊符号转义的实现
Nov 30 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 Javascript
详解如何在你的Vue项目配置vux
Jun 04 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
如何在Vue中抽离接口配置文件
Oct 31 Javascript
jQuery使用手册之二 DOM操作
Mar 24 #Javascript
jQuery使用手册之一
Mar 24 #Javascript
5 cool javascript apps
Mar 24 #Javascript
用JQuery 实现的自定义对话框
Mar 24 #Javascript
JQuery 简便实现页面元素数据验证功能
Mar 24 #Javascript
AutoSave/自动存储功能实现
Mar 24 #Javascript
用 javascript 实现的点击复制代码
Mar 24 #Javascript
You might like
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
网站上面有这种切换效果
2006/06/26 Javascript
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
一个js实现的所谓的滑动门
2007/05/23 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python 字典与字符串的互转实例
2017/01/13 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
python async with和async for的使用
2019/06/20 Python
python画图的函数用法以及技巧
2019/06/28 Python
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
聘用意向书范本
2014/04/01 职场文书
React配置子路由的实现
2021/06/03 Javascript
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL