jqurey 学习笔记 传智博客佟老师附详细注释

1 、写 js 的时候用 aptana ( IDE ),有 jquery 的代码提示。
 
把 code assist 里面的 jqurey1.3 选上就可以了。

2 、为一个元素增加事件的时候不要在 html 里加,在 js 中加。
不要写 <input type=”button” onclick=”xxx” id=”id”>
要写成: document.getElementById(“id”).onclick = function(){}

3 、把 js 剥离出来,做到 html 和 js 的分离。
Html 中除了引入 js 之外,不要别的 js 代码。

4 、 Jqurey 选择器:基本选择器、层级选择器、基本过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单选择器、表单对象属性选择器
http://xiazai.jb51.net/200907/yuanma/jQuery_xuanzeqi.rar

5 、选择器中的空格问题

带空格的是子选择器,不带空格的是可见性过滤选择器

例子 1 、品牌列表 需要一张小图片,还有 jqurey1.3.1 的 js 包
下载地址: jqurey鼠标经过例子 http://xiazai.jb51.net/200907/yuanma/jquery_mouse.rar
代码:


代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
*{ margin:0; padding:0;}
body {font-size:12px;text-align:center;}
a { color:#04D; text-decoration:none;}
a:hover { color:#F50; text-decoration:underline;}
.SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
.SubCategoryBox ul { list-style:none;}
.SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
.showmore { clear:both; text-align:center;padding-top:10px;}
.showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
.showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
.promoted a { color:#F50;}
</style>
<script type="text/javascript" src="scripts/jquery-1.3.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){//dom 加载完毕时执行
// 得到 class 是 SubCategoryBox 的 div 中的 ul 中的 li ,索引大于 5 ,不选最后一个
// 即后两行
var $hideBandes = $("div.SubCategoryBox ul li:gt(5):not(:last)");
$hideBandes.hide();//dom 加载完毕先隐藏
// 给 class 为 showmore 的 div 中的所有 a 标记增加 click 方法
$("div.showmore>a").click(function(){
$hideBandes.toggle();// 点击是循环隐藏和显示
if($hideBandes.is(":visible")){// 如果是显示的
// 给几个特定的元素增加样式, div 中的 ul 中的 li 内容过滤 包含 佳能等几个内容时
$("div ul li").filter(":contains(' 佳能 '), :contains(' 尼康 '), :contains(' 奥林巴斯 ')")
.addClass("promoted");
$(".showmore>a>span").css("background", "url(img/up.gif) no-repeat 0 0");// 改变小箭头图片
$(".showmore>a>span").text(" 显示精简品牌 ");// 改变文字
}else{// 如果是隐藏的
// 去除加上去的样式
$("div ul li").filter(":contains(' 佳能 '), :contains(' 尼康 '), :contains(' 奥林巴斯 ')")
.removeClass("promoted");
$(".showmore>a>span").css("background", "url(img/down.gif) no-repeat 0 0");// 改变小箭头图片
$(".showmore>a>span").text(" 显示全部品牌 ^^");// 改变文字
}
return false;
});
});
</script>
</head>
<body>
<div class="SubCategoryBox">
<ul>
<li ><a href="#"> 佳能 </a><i>(30440) </i></li>
<li ><a href="#"> 索尼 </a><i>(27220) </i></li>
<li ><a href="#"> 三星 </a><i>(20808) </i></li>
<li ><a href="#"> 尼康 </a><i>(17821) </i></li>
<li ><a href="#"> 松下 </a><i>(12289) </i></li>
<li ><a href="#"> 卡西欧 </a><i>(8242) </i></li>
<li ><a href="#"> 富士 </a><i>(14894) </i></li>
<li ><a href="#"> 柯达 </a><i>(9520) </i></li>
<li ><a href="#"> 宾得 </a><i>(2195) </i></li>
<li ><a href="#"> 理光 </a><i>(4114) </i></li>
<li ><a href="#"> 奥林巴斯 </a><i>(12205) </i></li>
<li ><a href="#"> 明基 </a><i>(1466) </i></li>
<li ><a href="#"> 爱国者 </a><i>(3091) </i></li>
<li ><a href="#"> 其它品牌相机 </a><i>(7275) </i></li>
</ul>
<div class="showmore">
<a href="more.html"><span> 显示全部品牌 </span></a>
</div>
</div>
</body>
</html>

例子 2 、超链接和图片提示效果 需要几张图片 jqurey1.3.1 的 js 包
代码


代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<style type="text/css">
body{
margin: 0;
padding: 40px;
background: #fff;
font: 80% Arial, Helvetica, sans-serif;
color: #555;
line-height: 180%
}
img{
border: none;
}
li{
list-style: none;
float: left;
display: inline;
margin-right: 10px;
border: 1px solid #AAAAAA;
}
#tooltip{
position: absolute;
border: 1px solid #ccc;
background: #333;
padding: 2px;
display: none;
color: #fff;
}
</style>
<script type="text/javascript" src="scripts/jquery-1.3.1.js"></script>
<script type="text/javascript">
$(function(){//dom 加载完执行
// 设定图片层距离鼠标的位置
var x = 10;
var y = 20;
$("a.tooltip").mouseover(function(e){// 选择 class 为 tooltip 的 a 标记,添加鼠标经过事件的方法
this.myTitle = this.title;// 得到 a 标记的 title 属性
this.title = "";// 把原来的 title 属性设为空字符串
var imageTitle = this.myTitle ? ("<br>" + this.myTitle) : "";// 判断 myTitle 是否为空,不为空给它前面加 br
var im = "<div id='tooltip'><img src='" + this.href + "' alt=' 产品预览图 '/>" + imageTitle + "</div>";// 创建一个 div
$("body").append(im);// 把创建的 div 追加到 body 中
// 设定追加的 div 的位置, e 是鼠标的位置,再加上距离鼠标的位置 ,就是 div 的位置
$("#tooltip").css("left", e.pageX + x + "px")
.css("top", e.pageY + y + "px")
.show("fast");// 显示 速度设为 快
}).mouseout(function(){// 鼠标移出事件的方法
this.title = this.myTitle;// 把 myTitle 还给 title
$("#tooltip").remove();// 删除新添加的 div
}).mousemove(function(e){// 鼠标在图片上移动的事件的方法
// 修正位置
$("#tooltip").css("left", e.pageX + x + "px")
.css("top", e.pageY + y + "px");
}).click(function(){return false;});// 取消 a 标记的默认方法
})
</script>
</head>
<body>
<h3> 有效果: </h3>
<ul>
<li><a href="images/apple_1_bigger.jpg" class="tooltip" title=" 苹果 iPod"><img src="images/apple_1.jpg" alt=" 苹果 iPod" /></a></li>
<li><a href="images/apple_2_bigger.jpg" class="tooltip" title=" 苹果 iPod nano"><img src="images/apple_2.jpg" alt=" 苹果 iPod nano"/></a></li>
<li><a href="images/apple_3_bigger.jpg" class="tooltip" title=" 苹果 iPhone"><img src="images/apple_3.jpg" alt=" 苹果 iPhone"/></a></li>
<li><a href="images/apple_4_bigger.jpg" class="tooltip" title=" 苹果 Mac"><img src="images/apple_4.jpg" alt=" 苹果 Mac"/></a></li>
</ul>
<br/><br/><br/><br/>
<br/><br/><br/><br/>
<h3> 无效果: </h3>
<ul>
<li><a href="images/apple_1_bigger.jpg" title=" 苹果 iPod"><img src="images/apple_1.jpg" alt=" 苹果 iPod" /></a></li>
<li><a href="images/apple_2_bigger.jpg" title=" 苹果 iPod nano"><img src="images/apple_2.jpg" alt=" 苹果 iPod nano"/></a></li>
<li><a href="images/apple_3_bigger.jpg" title=" 苹果 iPhone"><img src="images/apple_3.jpg" alt=" 苹果 iPhone"/></a></li>
<li><a href="images/apple_4_bigger.jpg" title=" 苹果 Mac"><img src="images/apple_4.jpg" alt=" 苹果 Mac"/></a></li>
</ul>
</body>
</html>

(0)

相关推荐

  • jqurey 学习笔记 传智博客佟老师附详细注释

    1 .写 js 的时候用 aptana ( IDE ),有 jquery 的代码提示.  把 code assist 里面的 jqurey1.3 选上就可以了. 2 .为一个元素增加事件的时候不要在 html 里加,在 js 中加. 不要写 <input type="button" onclick="xxx" id="id"> 要写成: document.getElementById("id").onclick =

  • jquery 学习笔记 传智博客佟老师附详细注释

    1 .写 js 的时候用 aptana ( IDE ),有 jquery 的代码提示.   把 code assist 里面的 jqurey1.3 选上就可以了. 2 .为一个元素增加事件的时候不要在 html 里加,在 js 中加. 不要写 <input type="button" onclick="xxx" id="id"> 要写成: document.getElementById("id").onclick

  • 利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)

    前言 这篇文章实现的博客系统使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的修改和删除).文章编辑(Markdown).标签分类等功能. 前端模仿的是 hexo 的经典主题 NexT,本来是想把源码直接拿过来用的,后来发现还不如自己写来得快,就全部自己动手实现成 vue components. 实现的功能 1.文章的编辑,修改,删除 2.支持使用 Markdown 编辑与实时预览 3.支持代码高亮 4.给文

  • 基于jsp+servlet实现的简单博客系统实例(附源码)

    本文实例讲述了基于jsp+servlet实现的简单博客系统.分享给大家供大家参考.具体如下: 没有用框架写的 小博客, 代码大量重复. 个人感觉重复代码对于新手还是有好处的,我也是新手,见谅. 完整实例代码点击此处本站下载. 1. servlet /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Servlet; import blog.

  • 正则表达式 传智播客学习

    有了一点点小小成就,五子棋游戏的基本功能已经实现的差不多了,还需要进行部分代码优化,期待明天的到来,因为明天我就可以实现我一个梦想,那就是晚上自己开发的游戏,呵呵!学在其中,乐在其中!下午实在有些腰酸背痛,决定就近去爬山,经过商议决定去百望山森林公园,真的是好久没锻炼了,才两百多米的山爬完回来累的不行,不过也算是感受了一下大自然的风情,站在山顶的感觉真的很不错,看着山下风景,突然感觉自己好渺小,这座城市如此之大,何时何处才是我安身之处?努力,我相信在不远的未来,我相信我的选择.吃过晚饭,看着张孝

  • 传智播客学习之JavaScript基础篇

    一.JavaScript与java的区别 1.JavaScript是Netscape公司的产品,Java是Sun公司的产品. 2.JavaScript是基于对象,Java是面向对象. 3.JavaScript只需解释就可以执行,Java需要先编译成字节码文件,再执行. 4.JavaScript是弱类型,Java是强类型. 小结:其实java与JavaScript除了名字上有些像以外,然后JavaScript借用了部分java思想外,其余别的几乎没有什么关系. 二.如何将JavaScript与Ht

  • 传智播客学习之java 反射

    此外,毕老师为我们讲解了反射机制,虽然以后我们在开发过程中,不一定会涉及反射,但是反射确实java一种强大的工具,它使我们能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接.例如在Tomcat类加载器这种机制被很多框架所使用. 一.什么是反射 反射的概念是由Smith在1982年首次提出,主要是指程序可以访问.检测和修改本身状态行为的一种能力.反射是java程序开发语言的特征之一,它也允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的

  • 传智播客java web 过滤器

    根本不利于使用,Servlet应该本是为简化工作而创造的啊!我当时觉得是我的设计框架产生了问题.第二天我便问方老师,确实是使用上有些问题.比如,显示访问计数,我把它单独写成了一个Servlet,什么地方需要它时,便由那个Servlet.include引用计数的Servlet.但这样总会产生一些问题和使用上的不便.比如include的Servlet必须使用相同的流,如果使用forward后任何输出都无效了. 方老师当时建议,把有些功能写到一起.但最后提到了过滤器,那时我便对过滤器产生了兴趣,今日也

  • 揭开AJAX神秘的面纱(AJAX个人学习笔记)第1/5页

    AJAX技术是多种计算机技术的结晶,它的名称来自:Asynchronism(异步).JavaScript.And.XML这4个单词首字母,即异步JavaScript请求处理XML技术.简单的描述就是数据异步传输网页局部刷新的技术.AJAX很流行,WEB程序设计中如果不应用AJAX技术,可以说是不完善的设计.就好象黑白电视机与彩电一样,AJAX就是后者,是一种技术更新的革命! 本人学习AJAX时间并不长,仅10余天,不能说百分之百掌握,但也有所领悟.现在把自己的学习经过和体会写下来,与君共分享.

  • 使用python和Django完成博客数据库的迁移方法

    上一讲完成了基本博客的配置和项目工程的生成.这次开始将博客一些基本的操作主要是数据库方面学习. 1.设计博客数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个地方就是数据库.我们把写好的文章永久地保存在数据库里,当用户访问我们的博客时,Django 就去数据库里把这些数据取出来展现给用户. 博客的文章应该含有标题.正文.作者.发表时间等数据.一个更加现代化的博客文章还希望它有分类.标签.评论等.为了更好地存储这些数据,我们需要合理

随机推荐