jquery与原生JS实现增加、减小字号功能
预览效果:

实现代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="../JavaScript/JQuery/jquery-3.3.1.min.js"></script>
<title>Document</title>
<style>
#container{
height: 300px;
text-align: center;
border:2px solid orange;
}
button{
width: 104px;
height: 30px;
color: white;
background-color: darkcyan;
font-size: 16px;
box-shadow: 1px 1px 3px salmon;
margin-right: 20px;
}
#btn{
position: absolute;
top: 269px;
left: 50%;
margin-left: -260px;
}
</style>
</head>
<body>
<div id="container">
<pre style="font-size:20px;">
图解TCP/IP TN915.04/148
TCP/IP illustrated. TCP/IP详解 .卷1 : 协议 TN915.04/E11
JSON必知必会:a to-the-point guide to JSON TP312JA/1108
JavaScript设计模式 TP312JA/1144
React全栈:Redux+Flux+webpack+Babel整合开发 TP312JA/1201
React与Redux开发实例精解 TP312JA/1220
Node.js开发实战 TP312JA/1350
Ajax经典案例开发大全 TP393.09/106/AB1
</pre>
<div id="btn">
<button id="bigger">增加字号</button>
<button id="smaller">减小字号</button>
<button class="bigger">JQ增加字号</button>
<button class="smaller">JQ减小字号</button>
</div>
</div>
<Script>
//原生js
var biggerBtn = document.getElementById("bigger");
var smallerBtn = document.getElementById("smaller");
var txt = document.getElementsByTagName("pre")[0];
// var fontSizeNum = document.defaultView.getComputedStyle(txt,null).fontSize.slice(0,-2);
// console.log(fontSizeNum);
function addSize(){
var fontSizeNum = document.defaultView.getComputedStyle(txt,null).fontSize.slice(0,-2);
var newSize = new Number(fontSizeNum);
var newSizeNum = newSize + 2;
if(newSizeNum <= 40){
txt.style.fontSize = newSizeNum + "px";//应该用slice(2)来获取,因为单位不一定是px,这里偷个懒
console.log(newSizeNum);
}else{
alert("超出限制!");
}
}
function reduceSize(){
var fontSizeNum = document.defaultView.getComputedStyle(txt,null).fontSize.slice(0,-2);
var newSize = new Number(fontSizeNum);
var newSizeNum = newSize - 2;
//应该用slice(2)来获取单位,因为单位不一定是px,这里偷个懒
if(newSizeNum >= 12){
txt.style.fontSize = newSizeNum + "px";
console.log(newSizeNum);
}else{
alert("超出限制!");
}
}
biggerBtn.addEventListener("click",addSize,false);
smallerBtn.addEventListener("click",reduceSize,false); //JQuery
$(".bigger,.smaller").click(function(){
var jqFontSize = $("pre").css("font-size").slice(0,-2);
var unit = $("pre").css("font-size").slice(2);
console.log(jqFontSize,unit);//字符串格式的数据与其单位
var jqFontSizeNum = parseInt(jqFontSize,10);
var cName = $(this).attr("class");
if(cName == "bigger"){
jqFontSizeNum += 2;
}else{
jqFontSizeNum -= 2;
};
$("pre").css("font-size",jqFontSizeNum + unit);
})
</Script>
</body>
</html>
jquery与原生JS实现增加、减小字号功能的更多相关文章
- 通过案例来剖析JQuery与原生JS
首先来个例子: 我们在登陆或者注册一些网站时,如果某一项点过了但没填,鼠标移走后是不是经常看到网站有相应的红色字体提示呢? 那下面我们就以这个为例来剖析下jQuery和原生JS的一些区别,来上代码: ...
- jQuery与原生js实现banner轮播图
jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...
- 通过游戏认识 --- JQuery与原生JS的差异
前言 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库( 或JavaScript框架).jQuery设计的宗旨是“write ...
- 原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较
一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优 ...
- 原生JS实现简单留言板功能
原生JS实现简单留言板功能,实现技术:css flex,原生JS. 因为主要是为了练手js,所以其中布局上的一些细节并未做处理. <!DOCTYPE html> <html lang ...
- 用jQuery基于原生js封装的轮播
我发现轮播在很多网站里面都用到过,一个绚丽的轮播可以为网页增色不少,最近闲来无事,也用原生js封装了一个轮播,可能不像网上的插件那么炫,但是也有用心去做.主要用了闭包的思想.需要传递的参数有:图片地址 ...
- JQuery和原生JS跨域加载JSON数据或HTML。
前提:有时候需要在网页上,加载另一个网站上的数据.或者加载另一个网站上的一个页面.Js的Ajax请求不具备跨域功能,可以使用JQuery来实现. 网页端JS代码: $(function () { $. ...
- 类似jQuery的原生JS封装的ajax方法
一,前言: 前文,我们介绍了ajax的原理和核心内容,主要讲的是ajax从前端到后端的数据传递的整个过程. Ajax工作原理和原生JS的ajax封装 真正的核心就是这段代码: var xhr = ne ...
- jQuery和原生JS的对比
原生JS的缺点: 不能添加多个入口函数(window.onload),如果添加了多个,后面的会把前面的覆盖掉 原生js的api名字太长,难以书写,不易记住 原生js有的代码冗余 原生js中的属性或者方 ...
随机推荐
- python私有属性和私有方法
私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私 ...
- Alpha 冲刺11——总结
拖鞋旅游队团队事后诸葛亮会议 前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10054510.html 时间:2018-12-1 20:00 地 ...
- C语言里有没有像C++里面的sort函数一样的函数?有!
C 库函数 - qsort() 描述 C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void ...
- jQuery获取元素上一个、下一个、父元素、子元素
jQuery.parent(expr),找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(&q ...
- requests模块的使用
requests模块 什么是request模块:requests是python原生一个基于网络请求的模块,模拟浏览器发起请求. requests-get请求 # get请求 import reques ...
- 洛谷P1605:迷宫(DFS)
题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫中移动有上下左右 ...
- 小妖精的完美游戏教室——东方project,同人,自机
//================================================================ //// Copyright (C)// All Rights R ...
- 关于函数式编程(Functional Programming)
初学函数式编程,相信很多程序员兄弟们对于这个名字熟悉又陌生.函数,对于程序员来说并不陌生,编程对于程序员来说也并不陌生,但是函数式编程语言(Functional Programming languag ...
- Netty学习记录
一.Netty简介 Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞.基于事件驱动.高性能.高可靠性和高可定制性. Netty 是一个 NIO client-s ...
- Python小练习(二)
按照下面的要求实现对列表的操作: 1)产生一个列表,其中有40个元素,每个元素是0到100的一个随机整数 2)如果这个列表中的数据代表着某个班级40人的分数,请计算成绩低于平均 ...