JQuery 初探
放暑假了,终于有时间能学点前端的东西了。JQuery就是我第一个选择,锋利的JQuery。这本书真的很好。下面以一个ToggleButton
形式的小例子开场吧。
引入JQuery库
在网页上引用JQuery并不是一件难事,我们通常来说有两种方式。
引用本地文件:将下载好的JQuery当做src即可,如下
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
注意:JQuery库的引用要放到javascript代码的前面,这样才能保证脚本的正确执行。所以不妨放到
head
标签里面吧。以CDN 的方式引用:说白了,就是一个网址链接。推荐一个网址JQuery CDN 大全.具体的使用可以如下:
<script src="//cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>
优缺点对比 | 采用本地JS | 采用CDN方式 |
---|---|---|
页面加载速度 | 快 | 稍慢(取决于当时的网速) |
简易程度 | 略繁琐(尤其是目录较深的时候) | 简单方便,一个网址即可 |
Toggle 使用原理
在一个网页中要想获得toggle的效果,我们可以通过对其的visible
属性进行判断,由此实现不同的业务逻辑。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Toggle Button Demo</title>
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
</head>
<body>
<h1 id="togglebtn">I am the title!</h1>
<span>Toggle</span>
<script>
var $title = $("#togglebtn");
var $togglebutton = $("span");
$togglebutton.click(function(){
if($title.is(":visible")){
$togglebutton.text("Toggle Button Open!");
$title.hide();
}else{
$title.show();
$togglebutton.text("Toggle Button Close!");
}
})
</script>
</body>
</html>
网页效果:
I am the title!
Toggle
点击toggle,就可以观察到不同的现实情况了。
复杂点的toggle使用
这里分享一个书中的小例子,关于商城产品列表的展开与关闭。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>列表项展开与关闭的效果</title>
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
<!-- 使用CDN的方式加载会比较的慢,所以尽量采用本地js文件加载-->
<!-- <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> -->
</head>
<body>
<div class="SubCategoryBox">
<ul>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">尼康</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">佳能</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
<li>
<a href="#">列表项*</a>
</li>
</ul>
</div>
<div class="showmore">
<a href="listoperation.html">
<span>显示全部品牌</span>
</a>
</div>
<script type="text/javascript">
// 等待DOM加载完毕
$(function(){
// 获取索引值大于5的品牌集合对象,出最后一条外
var $category = $('ul li:gt(5):not(:last)');
// 隐藏上面获取到的JQuery对象
$category.hide();
// 获取“显示全部品牌”按钮
var $toggleBtn = $('div.showmore > a');
// 给按钮添加点击事件
$toggleBtn.click(function(){
// 如果元素显示,则启用第一个逻辑
if($category.is(":visible")){
$category.hide();
$('.showmore a span').css("background","green").text("显示全部品牌");
$('ul li').removeClass("promoted");
// 如果元素不显示,则启用第二个逻辑
}else{
$category.show();
$('.showmore a span').css("background","red").text("精简显示品牌");
$('ul li').filter(":contains('佳能'),:contains('尼康')").addClass("promoted");
}
// 为了让超链接不跳转,所以返回false即可
return false;
})
})
</script>
</body>
</html>
代码中脚本注释写的很清楚了,里面使用到了JQuery的多种选择器,以及过滤器的使用,是一个很实用的小技巧了。
实现的逻辑很朴素,就是对于刚接触JQuery的童鞋而言概念,名词会有点多。多练习,熟悉之后就好了。
JQuery 初探的更多相关文章
- jQuery初探 jQuery选取和操纵元素的特点
jQuery初探 jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当 ...
- JQuery初探
[TOC] jquery 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行"操作"(actions). jQuery 使用的语法是 XPath 与 CSS ...
- 第二章:jQuery初探
一.引入jQuery XXXX.js文件 <script>标签 1.版本选择 当前jQuery有两个分支 1.x 支持ie6.7.8 jquery-1.11.2.js:未经过压缩,适合同学 ...
- [Web 前端] 026 jQuery 初探
目录 1. jQuery 简介 2. jQuery 的简单操作 2.1 jQuery 选择器 2.1.1 简介 2.1.2 基础选择器 2.2 过滤获取 2.3 父子关系获取 3. jQuery 元素 ...
- jQuery入门、jQuery选择器、jQuery操作
一.什么是jQuery及如何使用 1.1 jQuery 简介 jQuery是一个兼容多浏览器的javascript函数库(把我们常用的一些功能进行了封装,方便我们来调用,提高我们的开发效率.),核心理 ...
- 初探jquery.slimscroll.js和iscroll5.js
网上关于实现各种滚动效果的插件不胜枚举,这里,我简单介绍一下自己用过的两款比较有代表性的插件: 1.jquery.slimscroll.js,需要先引入jquery类库,主要用于模拟传统的浏览器滚动条 ...
- 【初探移动前端开发05】jQuery Mobile (整合版)
前言 为了方便大家看的方便,我这里将这几天的东西整合一下发出. 里面的例子请使用手机浏览器查看. 什么是jQuery Mobile? jquery mobile是jquery在移动设备上的版本,他是基 ...
- 【初探移动前端开发05】jQuery Mobile (下)
前言 继续我们移动端的学习,今天到了List相关了. 本文例子请使用手机查看 List列表 在移动设备平台下,由于移动设备屏幕比较小,我们又是用手在上面点击的触屏方式,传统的列表模式在手机上就不太友好 ...
- 【初探移动前端开发04】jQuery Mobile (中)
前言 昨天我们一起学习了一部分jquery mobile的知识,今天我们继续. 这些是些很基础的东西,有朋友觉得这个没有其它的好,但是学习下不吃亏嘛,我反正也不会一起学习基础啦. 例子请使用手机查看哦 ...
随机推荐
- 机器学习技法:03 Kernel Support Vector Machine
Roadmap Kernel Trick Polynomial Kernel Gaussian Kernel Comparison of Kernels Summary
- [HNOI2010]PLANAR
题目描述 若能将无向图G=(V,E)画在平面上使得任意两条无重合顶点的边不相交,则称G是平面图.判定一个图是否为平面图的问题是图论中的一个重要问题.现在假设你要判定的是一类特殊的图,图中存在一个包含所 ...
- 计蒜客NOIP模拟赛(3) D1T2 信息传递
一个数据包在一个无向网络中传递.在时刻0,该数据包将依照特定的概率随机抵达网络中的某个节点.网络可以看做一张完全带权无向图,包含N个节点,若t时刻数据包在节点i,则在t+1时刻,数据包被传递到节点j的 ...
- 矩阵树Matrix-Tree定理与行列式
简单入门一下矩阵树Matrix-Tree定理.(本篇目不涉及矩阵树相关证明) 一些定义与定理 对于一个无向图 G ,它的生成树个数等于其基尔霍夫Kirchhoff矩阵任何一个N-1阶主子式的行列式的绝 ...
- [BZOJ]1085 骑士精神(SCOI2005)
这种鲜明的玄学风格很明显就是十几年前的题目. Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐 ...
- bzoj1492[NOI2007]货币兑换Cash cdq分治+斜率优化dp
1492: [NOI2007]货币兑换Cash Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 5541 Solved: 2228[Submit][Sta ...
- C语言如何输出%
两个%即可,C语言中%有两个作用: 第一种是作为运算符,取余,例如:9%4=1(9/4=2--1). 第二种是转义符,比如在scanf()和printf()中的输入参数常出现带有%的表示参数类型的变量 ...
- Linux编程之内存池的设计与实现(C++98)
假设服务器的硬件资源"充裕",那么提高服务器性能的一个很直接的方法就是空间换时间,即"浪费"服务器的硬件资源,以换取其运行效率.提升服务器性能的一个重要方法就是 ...
- SSD:TensorFlow中的单次多重检测器
SSD:TensorFlow中的单次多重检测器 SSD Notebook 包含 SSD TensorFlow 的最小示例. 很快,就检测出了两个主要步骤:在图像上运行SSD网络,并使用通用算法(top ...
- 使用Aes对称加密解密Web.Config数据库连接串
现在很多公司开始为了保证数据库的安全性,通常会对Web.Config的数据库连接字符串进行加密.本文将介绍学习使用Aes加密解密数据库连接字符串.本文采用MySql数据库. AES概念简述 AES 是 ...