在我的这篇博文中,我抱怨过jQuery
的选择器,后来一看,我去当时简直是SB,a = 0
是标识符,放到$('.arc_link li:eq(a)').fadeIn();')
中是字符串的一部分,怎么可能有效果。。。
当然作为一个有毅力的码农,我是不可能停止折腾的,今天再次动手,居然很轻松就搞定了,就写一下今天的一些收获吧。
-
在
Javascript
中,字符串是可以和整数相加的,解释器会把整数自动地变成字符串,如:console.log('hello' + 1 + 'world') //=>'hello1world'
-
在
CSS
中,隐藏元素有两种方法:#xxx{ display:note } #xxx{ visibility:hidden }
区别在于,前者隐藏元素隐藏元素同时不占用位置,后者隐藏元素但是会占用位置。
-
jQuery
的show()
和hide()
以及fadeIn()
和fadeOut()
,都只能操作用display
属性隐藏的元素,对使用visibility
隐藏的元素,不起作用。 -
相对应的,
jQuery
中的animate()
也无法操作visibility
属性,以下是jQuery
的animate()
方法可以操作的属性:backgroundPosition borderWidth borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderSpacing margin marginBottom marginLeft marginRight marginTop outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop height width maxHeight maxWidth minHeight maxWidth font fontSize bottom left right top letterSpacing wordSpacing lineHeight textIndent opacity
-
Javascript
中,setTimeout()
的函数只会运行一次,而setInterval()
的函数将会循环执行下去:setTimeout('show_pic()',50) //50毫秒后执行一个show_pic()函数 setInterval('show_pic()', 50) //每50毫秒执行一次show_pic()函数
-
Javascript
中的变量加不加var
的作用域区别我还是没搞清楚,目前总结一下我知道的,就是,在jQuery
的每一个$(document).ready(function(){...})
中声明的变量,带
var
的变量只能在这个function()
中使用,而不带的,在这个function()
之外也可以访问,函数同理。 -
jQuery
的选择器,有些需要带上元素类型,有些的则不用,实际使用的时候多试一下就好了,比如:$('.arc_link').fadeIn() //有效果 console.log($('.arc_link').length) //无法统计元素个数 console.log($('div.arc_link').length) //可以输出元素个数
-
jQuery
的很多方法都是有回调函数的,比如:function b(){...} $('a').fadeIn('normal', b()) //a元素以正常速度淡入后立即执行b函数
然后说个刚刚编程中出现的小挫折,因为ARCHIVES
页面上的文章标题我需要它初始是不显示但是占位置,然后用Javascript
控制轮流显示出来,可是jQuery
的animate()
方法只能控制diaplay
属性,而display
属性又是不占位置的,所以我立刻陷入了思维的死循环。。。
不过还好我灵光一闪,隐藏
+占位置
=透明
啊,不就是opacity
属性么,再一看,jQuery
的animate()
支持操作这个属性啊,果断动手,搞定!
最后,我发誓写Javascript
再也不写分号和双引号了╮(╯▽╰)╭~~