omiga

简单就好

封装一个图片轮换效果

8条评论»

这个东西,每次都要写,索性把它封装起来,其实并没有完全地封装,倒是可以重复使用了~···基于jQuery,需jQuery1.1.2+版本支持~···以前用纯JS写过一个,在这里,这个其实也可以用以前我写过的一些函数来实现,但是有jQuery就偷下懒了~···呵呵~

添加删除内容只需更新scripts文件夹下ap.js文件中的adList 对象即可~···

使用之前需创建一个id为img_ad的对象,以作为容器,并为其定义宽高,可随意修改ap.css,以达到你需要的效果~···

内置两种基本效果,可通过注释相应代码进行选择 ~

效果演示

打包下载

<meta>标签详解

发表评论»

定义和用法

<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

<meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。

HTML 与 XHTML 之间的差异

在 HTML 中,<meta> 标签没有结束标签。 在 XHTML 中,<meta> 标签必须被正确地关闭。

提示和注释:

注释:<meta> 标签永远位于 head 元素内部。

注释:元数据总是以名称/值的形式被成对传递的。

必需的属性 DTD 指示此属性允许在哪种 DTD 中使用。S=Strict, T=Transitional, F=Frameset.

属性 描述 DTD
content some_text 定义与 http-equiv 或 name 属性相关的元信息 STF

可选的属性 DTD 指示此属性允许在哪种 DTD 中使用。S=Strict, T=Transitional, F=Frameset.

属性 描述 DTD
http-equiv content-type
expires
refresh
set-cookie
把 content 属性关联到 HTTP头部。 STF
name author description keywords generator revised others 把 content 属性关联到一个名称。 STF
scheme some_text 定义一种用来翻译 content 属性值的格式。 STF

name 属性

name 属性提供了名称/值对中的名称。HTML 和 XHTML 标签都没有指定任何预先定义的 <meta> 名称。通常情况下,您可以自由使用对自己和源文档的读者来说富有意义的名称。 “keywords” 是一个经常被用到的名称。它为文档定义了一组关键字。某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类。 类似这样的 meta 标签可能对于进入搜索引擎的索引有帮助:

<meta name="keywords" content="HTML,ASP,PHP,SQL">

如果没有提供 name 属性,那么名称/值对中的名称会采用 http-equiv 属性的值。

http-equiv 属性

http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。 当服务器向浏览器发送文档时,会先发送许多名称/值对。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。 使用带有 http-equiv 属性的 <meta> 标签时,服务器将把名称/值对添加到发送给浏览器的内容头部。例如,添加:

<meta http-equiv="charset" content="iso-8859-1">
<meta http-equiv="expires" content="31 Dec 2008">

这样发送到浏览器的头部就应该包含:

content-type: text/html
charset:iso-8859-1
expires:31 Dec 2007

当然,只有浏览器可以接受这些附加的头部字段,并能以适当的方式使用它们时,这些字段才有意义。

  1. <meta http-equiv=”Content-Type” content=”text/html”;charset=gb_2312″>和<meta http-equiv=”Content-Language” content=”zh-CN”>用以说明主页制作所使用的文字以及语言;
  2. <meta http-equiv=”Refresh” content=”n;url=http://yourlink”>定时让网页在指定的时间n内,跳转到页面http://yourlink;
  3. <meta http-equiv=”Expires” content=”Mon,12 May 2001 00:20:00 GMT”>可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式;
  4. <meta http-equiv=”set-cookie” content=”Mon,12 May 2001 00:20:00 GMT”>cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式;

content 属性

content 属性提供了名称/值对中的值。该值可以是任何有效的字符串。 content 属性始终要和 name 属性或 http-equiv 属性一起使用。

scheme 属性

scheme 属性用于指定要用来翻译属性值的方案。此方案应该在由 <head> 标签的 profile 属性指定的概况文件中进行了定义。

标准属性 dir, lang, xml:lang

Flash Video Player Plugin for WordPress

发表评论»

WP的一款播放器插件,界面和CoolPlayer很相似呢~···但是需要加载的文件明显比CoolPlayer少,也要小~··· BTW:原来它们都用的JW FLV MEDIA PLAYER~···汗~···这个播放器本来就支持很多媒体格式,或许作者只是改装成WP plugin而已~···囧~

WP的插件虽然很丰富,但是多了,必然影响网站的加载时间,所以插件的使用也应有所选择~··· Flasher Video Player相对于CoolPlayer来说功能上要逊色不少,但是基本上可以满足正常需求咯~···所以说如果你对网站的访问速度要求不那么苛刻的话,CoolPlayer是很好的选择~

Flash Video Player Player Plugin for WordPress 下载地址

安装后发表的时候嵌入下面的代码便可使用~注意文件名后面留空格,否则会出错~
[flashvideo filename=videos/my-video.flv /]
OK,测试下~《青花瓷》~

[flashvideo filename=http://omiga.org/music/青花瓷.mp3 /]

jQuery1.2选择器

发表评论»

接前文——使用jQuery进行便捷web开发

严格来说这些东西都没有多少原创性可言,只是总结一些东西,方便自己,也顺便方便一下别人~

jQuery的选择器是极其强大并且有趣的,他结合了CSS1,CSS2,部分CSS3以及部分XPath的语法,同时并有一些专有的扩展 ,这样,使用起来便得心应手。

最基本的选择器

  • #id 通过id获取对象你就可以这样写了$(“#id”),而不用再getElementById(“id”),当然实际上,很多人都在自己定义$的getElementById方法;
  • #.class 通过class获取对象,javascript中是没有专门的类似函数的
  • element 类似于getElementsByTagName
  • * 用于匹配所有元素
  • 组合选择器 直接将CSS中组合选择器的思想引用过来,各选择器之间以逗号区分,如:$(“#id,.class,h1″)

层级选择器

  • $(“parent children”) 匹配给定祖先元素下的所有后代元素,如:$(“form input”)将匹配所有表单元素中的input元素
  • parent > child 匹配给定祖先元素下的子元素,而非所有后代元素
  • prev + next 匹配一个有效选择器pre后紧接着的第一个选择器
  • prev ~ siblings 匹配一个有效选择器pre后的所有同级选择器

基本滤镜

  • :first 匹配返回对象中的第一个元素,如:$(“div:first”)将返回DOM树中的第一个div
  • :last 匹配返回对象中的最后一个元素
  • :not 去除所有与给定选择器匹配的元素,如:$(“div:not(‘.post’)”)将返回class部位“post”的所有div元素
  • :even 匹配所有索引值为偶数的元素,从 0 开始计数,这个选择器在制作“斑马线”是十分有效,如:$(“td:even”).css(“backgroundColor”,”#FFF”)
  • :odd 匹配所有索引值为奇数的元素
  • :eq(index) 匹配一个给定索引值的元素,如:$(“p:eq(0)”)将返回文档中的第一个文本段落
  • :gt(index) 匹配所有大于给定索引值的元素
  • :lt(index) 匹配所有小于给定索引值的元素
  • :header 匹配如 h1, h2, h3之类的标题元素
  • :animated 匹配所有正在执行动画效果的元素,如:$(“div:not(:animated)”)

子元素滤镜

  • :nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素

    ‘:eq(index)’ 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的!可以使用
    :nth-child(even)
    :nth-child(odd)
    :nth-child(3n)
    :nth-child(2)
    :nth-child(3n+1)
    :nth-child(3n+2)
    如:$(“ul li:noth-child(2)”)将匹配所有ul下的第二个li元素

  • :first-child 匹配第一个子元素,如$(“ul li:first-child”)将匹配ul的第一个li元素
  • last-child 匹配最后一个子元素
  • only-child 当该元素为其父元素的唯一子元素时将被匹配

属性滤镜

  • [attribute] 匹配包含特定属性的元素,如:$(“img[title]“)将匹配所有拥有title属性呃img元素
  • [attribute=value] 匹配特定属性为特定值的元素,如:$(“img[title='点击查看原图']“)匹配所有title属性为“点击查看原图”的img元素
  • [attribute^=value] 匹配特定属性其值以特定字符为起始值的元素,如:$(“img[title^='点击']“)匹配所有title属性以“点击”开始的img元素
  • [attribute$=value] 匹配特定属性其值以特定字符结尾的元素
  • [attribute*=value] 匹配特定属性其值包含特定字符的元素
  • 复合属性选择器 如:$(“img[title^='点击'][title$='原图']“)

表单滤镜

  • :input 匹配所有 input, textarea, select 和 button 元素,如:$(:input)
  • :text 匹配所有的单行文本框
  • :password 匹配密码域
  • :radio 匹配单选按钮
  • :checkbox 匹配复选框
  • :sumbit 匹配提交按钮
  • :image 匹配图像域
  • :reset 匹配重置按钮
  • :buttom 匹配按钮
  • :file 匹配文件域
  • :enabled 匹配所有可用的元素
  • :disabled 匹配所有禁用的元素
  • :checked 匹配所有被选中的表单
  • :selected 匹配所有选择的表单
  • :hidden 匹配所有不可见元素,或者type为hidden的元素

其他滤镜

  • :contains(text) 匹配包含给定文本的元素,如:$(“p:contains(‘jQuery’)”)将匹配包含”jQuery”的所有段落元素
  • :empty 匹配所有不包含子元素或者文本的空元素
  • :has 匹配所有不包含子元素或者文本的空元素,如:$(“div:has(‘p’)”)将匹配所有包含有段落元素的div元素
  • :parent 匹配含有子元素或者文本的元素
  • :visible 匹配所有的可见元素

本文相关链接:

使用jQuery进行便捷web开发

发表评论»

咳咳~这个题目~不废话吗~谁写JS框架是为了进行“笨重”开发?嗯~这个~囧~OK,不废话了…接触jQuery有一段时间了,关于jQuery本身我就不再多做介绍,大家可以随意google或者baidu,也可访问jQuery的官方网站~…个人认为只要稍有编程基础,jQuery的学习还是比较轻松的。当然如果你掌握一点DOM,CSS的知识就更好了~这不是一篇教程,而是一点个人学习的总结,所以谈及比较重要的一些知识点。

使用jQuery进行开发时需要改变一些惯有的编程习惯,或者说是编程风格。其中最重要的一点便是DOM对象和jQuery对象之间的类型转换。因为单纯的jQuery对象是无法使用DOM定义的方法和属性的,jQuery对象和DOM对象之间的方法是不能混用的。比如有$(“.myClass”)这样一个jQuery对象,可以通过以下方法来进行类型的转换:

  1. $(“.myClass”)[0],直接获取该jQuery对象中的第一个元素。当然如果你是$(“#myId”)[0]那么实际上返回的就是id值为“myId”的DOM对象。
  2. $(“.myClass”).get(0),其等价于$(“.myClass”)[0],没什么区别

$(document).ready(function(){}),$(function(){})和jQuery(function(){})这三种写法有什么区别吗?我现在也没弄清楚。在传统的javascript中,window.onload似乎是用来装载JS的唯一方法,但是这个方法却有明显的弊端。因为onload事件本身就是在整个页面内容下载完成后才触发,包括图片。但实际上在很多时候这是不需要的,JS很多时候用来操纵DOM,那么只需要DOM树下载完成就可以了,那么这个时候你就可以用$(document).ready()来,DOM树装载完成即可触发。

jQuery支持方法的连写,什么意思?在传统JS中一个链接的简单hover效果你需要分别为onmouseover和onmouseout事件定义事件函数。但是在jQuery中可以这样写

$(“#myLink”).mouseover(function(){}).mouseout(function())

怎么样?很简单吧~当然你如果愿意你可以继续在后面添加事件函数,比如:

$(“#myLink”).mouseover(function(){}).mouseout(function()).click(function(){}).addClass(“myClass”)

同一函数实现set和get。比如html():

alert($(“#myId”).html()) //get
$(“#myId”).html(

文本段落

) //set

这类函数即可以用来获取值,同时也能设置值。这样的函数还有:text(),height(),weidth(),val(),其实css(),click()也可以算是这类函数~···,这样一来其实整个jQuery里面的函数很多都是既可以set也可以get的~

jQuery中的事件触发皆省略掉传统javascript中的on,本文前面已有例子。比如传统方法你得这样写:

myElement.onclick=function(){}

而在jQuery中你可以简单地写成这样:

myElement.click(function(){})

除此之外jQuery中还有一些自定义的事件:hover(),ready(),toggle(),triggle(),bind(),unbind(),这些事件函数具体定义请参考jQuery的API,在此不作赘述。

浏览器的判断$.browser,可用值:safari,opera,msie,mozilla。该属性在DOM装载完成之前就是有效的,故可以通过此属性先判断浏览器类型,再为特定浏览器编写程序。

if($.browser.msie){alert(“this is ie”)}

利用noConflict()实现多库共存。我们知道这个地球上不止jQuery这样一个JS框架,还有大名鼎鼎的prototype,YUI,Dojo等~有时难免会同时使用多个框架,难免发生命名冲突。就比如“$”在prototype和jQuery中都有定义,如不做处理必然导致命名冲突。那么这时候我们就可以使用noConflict()函数将变量$的控制权让渡出来。

jQuery.noConflict(); //转让控制权
jQuery(“div p”).hide(); // 使用 jQuery
$(“content”).style.display = ‘none’; //使用其他库的 $()

…….

除此之外,jQuery强大的选择器,是学习jQuery必须牢固掌握的,关于jQuery选择器,将单独撰文介绍~

严格来说jQuery只是一个封装了一些函数的JS类库,如果你熟悉javascript,那么掌握jQuery应该来说是没有任何难度的,所以jQuery很多精髓的东西可能还是其一些功能强大 的函数,函数的具体使用介绍可参考jQuery的API。同时互联网上也有很多jQuery的学习资料,稍花时间便可掌握。

附:一些jQuery学习资源