放暑假了,终于有时间能学点前端的东西了。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 初探的更多相关文章

  1. jQuery初探 jQuery选取和操纵元素的特点

    jQuery初探 jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当 ...

  2. JQuery初探

    [TOC] jquery 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行"操作"(actions). jQuery 使用的语法是 XPath 与 CSS ...

  3. 第二章:jQuery初探

    一.引入jQuery XXXX.js文件 <script>标签 1.版本选择 当前jQuery有两个分支 1.x 支持ie6.7.8 jquery-1.11.2.js:未经过压缩,适合同学 ...

  4. [Web 前端] 026 jQuery 初探

    目录 1. jQuery 简介 2. jQuery 的简单操作 2.1 jQuery 选择器 2.1.1 简介 2.1.2 基础选择器 2.2 过滤获取 2.3 父子关系获取 3. jQuery 元素 ...

  5. jQuery入门、jQuery选择器、jQuery操作

    一.什么是jQuery及如何使用 1.1 jQuery 简介 jQuery是一个兼容多浏览器的javascript函数库(把我们常用的一些功能进行了封装,方便我们来调用,提高我们的开发效率.),核心理 ...

  6. 初探jquery.slimscroll.js和iscroll5.js

    网上关于实现各种滚动效果的插件不胜枚举,这里,我简单介绍一下自己用过的两款比较有代表性的插件: 1.jquery.slimscroll.js,需要先引入jquery类库,主要用于模拟传统的浏览器滚动条 ...

  7. 【初探移动前端开发05】jQuery Mobile (整合版)

    前言 为了方便大家看的方便,我这里将这几天的东西整合一下发出. 里面的例子请使用手机浏览器查看. 什么是jQuery Mobile? jquery mobile是jquery在移动设备上的版本,他是基 ...

  8. 【初探移动前端开发05】jQuery Mobile (下)

    前言 继续我们移动端的学习,今天到了List相关了. 本文例子请使用手机查看 List列表 在移动设备平台下,由于移动设备屏幕比较小,我们又是用手在上面点击的触屏方式,传统的列表模式在手机上就不太友好 ...

  9. 【初探移动前端开发04】jQuery Mobile (中)

    前言 昨天我们一起学习了一部分jquery mobile的知识,今天我们继续. 这些是些很基础的东西,有朋友觉得这个没有其它的好,但是学习下不吃亏嘛,我反正也不会一起学习基础啦. 例子请使用手机查看哦 ...

随机推荐

  1. 以太坊如何估计计算gas?

    以太坊如何估计估算计算gas?Etherscan上transaction info中有个gas used by txn,结果跟remix给的结果以及geth中getTransactionReceipt ...

  2. [TJOI 2016&HEOI 2016]求和

    Description 题库链接 求 \[f(n)=\sum_{i=0}^n\sum_{j=0}^i S(i,j)\times 2^j \times (j!)\] \(S(i, j)\) 表示第二类斯 ...

  3. [Luogu 3835]【模板】可持久化平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作(对于各个以往的历史版本): 插入x数 删除x数(若有多个相同的数,因只删除一个,如果没有请忽略该操作 ...

  4. [NOIp 2015]斗地主

    Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3& ...

  5. [JLOI 2014]松鼠的新家

    Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在”树“上. 松鼠想 ...

  6. POJ2454 Jersey Politics

    Description In the newest census of Jersey Cows and Holstein Cows, Wisconsin cows have earned three ...

  7. 2015 多校联赛 ——HDU5414()

    Problem Description CRB has two strings s and t. In each step, CRB can select arbitrary character c  ...

  8. hdu 2825 aC自动机+状压dp

    Wireless Password Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  9. spoj 1676 AC自动机+矩阵快速

    Text Generator Time Limit: 1386MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu Submi ...

  10. poj2406 连续重复子串

    Power Strings Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 41110   Accepted: 17099 D ...