web前端中常用的封装方法介绍(代码示例)

本篇文章给大家带来的内容是关于web前端中常用的封装方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、放大镜

//页面加载完毕后执行window.onload = function () {var oDemo = document.getElementById('demo');var oMark = document.getElementById('mark');var FloatBox = document.getElementById('float-box');var SmallBox = document.getElementById("small-box");var bigBox = document.getElementById('big-box');var bigImg = bigBox.getElementsByTagName('img')[0];oMark.onmouseover = function (){FloatBox.style.display = "block";bigBox.style.display = "block";}oMark.onmouseout = function (){FloatBox.style.display = "none";bigBox.style.display = "none";}oMark.onmousemove = function (ev){var ev = ev || window.event;var left = ev.clientX - oDemo.offsetLeft - SmallBox.offsetLeft - FloatBox.offsetWidth / 2;var top = ev.clientY - oDemo.offsetTop - SmallBox.offsetTop - FloatBox.offsetHeight / 2;if(left = oMark.offsetWidth - FloatBox.offsetWidth - 10){left = oMark.offsetWidth - FloatBox.offsetWidth;}if(top = oMark.offsetHeight - FloatBox.offsetHeight - 10){top = oMark.offsetHeight - FloatBox.offsetHeight;}FloatBox.style.left = left + "px";FloatBox.style.top = top + "px";var scaleX = left / (oMark.offsetWidth - FloatBox.offsetWidth);var scaleY = top / (oMark.offsetHeight - FloatBox.offsetHeight);bigImg.style.left = -scaleX * (bigImg.offsetWidth - bigBox.offsetWidth) + "px";bigImg.style.top = -scaleY * (bigImg.offsetHeight - bigBox.offsetHeight) + "px";}}

2、JSONP

function fn1(data){var html = '';var oUl = document.getElementsByTagName('ul')[0];console.log(data);if(data.total != -1){for(var i=0; i<data.books.length; i++){html += '
  • '+ data.books[i].title +'

    '+ data.books[i].author_intro +'@@##@@

    '+ data.books[i].summary +'

    ' + data.books[i].publisher + '

    立即学习前端免费学习笔记(深入)”;

    美图云修
    美图云修

    商业级AI影像处理工具

    美图云修 61
    查看详情 美图云修
  • ';}oUl.innerHTML = html; }else{ document.body.innerHTML+='

    亲~~ 没有数据哦~~~

    '; } } window.onload = function (){var oBtn = document.getElementById('btn');var iNow = 0;oBtn.onclick = function (){//动态添加 script 标签 加载URL地址 后传入 callback=fn1 输出一个函数, 在上面则定义好这个函数, 接受一个data 就是资源 json类型,循环输出, 可先console.log(dara) 查看数据var oScript = document.createElement('script'); oScript.src="https://api.douban.com/v2/book/search?q=%E6%A0%A1%E5%9B%AD&count=10&start="+ iNow +"&callback=fn1";document.head.appendChild(oScript);// 点击一次+10,从多少开始获取iNow += 10; } }

    3、获取指定区间范围随机数,包括lowerValue和upperValue

    function randomFrom(lowerValue,upperValue){    return Math.floor(Math.random() * (upperValue - lowerValue + 1) + lowerValue);}//如获取1-100之间的随机数console.log(randomFrom(1,100));

    4、数组排序

    1、快速排序        /**      *   得到中间那位那位数,然后循环判断, arr[i] < 中间数 则push leftArr, 否则push rightArr, 最后返回 left数组 '拼接' 中间数 + right数组      */    function sort(arr){            if(arr.length <= 1){            return arr;        }            var numIndex = Math.floor(arr.length/2);        var numVal = arr.splice(numIndex,1);        var leftArr = [];        var rightArr = [];            for(var i=0; i<arr.length; i++){                if(arr[i]<numVal){                  leftArr.push(arr[i]);            }else{                rightArr.push(arr[i])            }            }            return sort(leftArr).concat(numVal,sort(rightArr));    }2、sort排序    var num=[7,45,100,4,2,564];    num.sort(function (a, b){        return a - b;    });    console.log(num)  //[2, 4, 7, 45, 100, 564]

    5、数组去重

    1、indexOf 去重/** *   当arr的第一次出现的位置 == i  则是第一次出现就push到tempArr */function unique(arr){    if (arr.length <= 1){        return arr;    }    var tempArr = [];    for(var i=0; i<arr.length; i++){        if(tempArr.indexOf(parseInt(arr[i])) == -1){        //-1 证明没有出现过            tempArr.push(arr[i]);        }    }    return tempArr;}2、Set去重function SetUnique(array) {  return [...new Set(array)];}dedupe([1, 1, 2, 3]) // [1, 2, 3]

    6、深度拷贝

    /**  *     深度拷贝 *     使用for in 在循环赋值,避免对象引用 */function copy(obj){    if(typeof obj != 'object'){        return obj;    }    var newObj = {};    for(var attr in obj){        newObj[attr] = copy(obj[attr]);    }    return newObj;}

    web前端中常用的封装方法介绍(代码示例)

    以上就是web前端中常用的封装方法介绍(代码示例)的详细内容,更多请关注创想鸟其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
    发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612474.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2025年12月24日 02:59:16
    下一篇 2025年12月24日 02:59:29

    相关推荐

    • 项目实践:如何结合CSS和JavaScript打造优秀网页的经验总结

      项目实践:如何结合CSS和JavaScript打造优秀网页的经验总结 随着互联网的快速发展,网页设计已经成为了各行各业都离不开的一项技能。优秀的网页设计可以给用户留下深刻的印象,提升用户体验,增加用户的黏性和转化率。而要做出优秀的网页设计,除了对美学的理解和创意的运用外,还需要掌握一些基本的技能,如…

      2025年12月24日
      200
    • 学完HTML和CSS之后我应该做什么?

      网页开发是一段漫长的旅程,但是掌握了HTML和CSS技能意味着你已经赢得了一半的战斗。这两种语言对于学习网页开发技能来说非常重要和基础。现在不可或缺的是下一个问题,学完HTML和CSS之后我该做什么呢? 对这些问题的答案可以分为2-3个部分,你可以继续练习你的HTML和CSS编码,然后了解在学习完H…

      2025年12月24日
      000
    • 聊聊怎么利用CSS实现波浪进度条效果

      本篇文章给大家分享css 高阶技巧,介绍一下如何使用css实现波浪进度条效果,希望对大家有所帮助! 本文是 CSS Houdini 之 CSS Painting API 系列第三篇。 现代 CSS 之高阶图片渐隐消失术现代 CSS 高阶技巧,像 Canvas 一样自由绘图构建样式! 在上两篇中,我们…

      2025年12月24日 好文分享
      200
    • 巧用距离、角度及光影制作炫酷的 3D 文字特效

      如何利用 css 实现3d立体的数字?下面本篇文章就带大家巧用视觉障眼法,构建不一样的 3d 文字特效,希望对大家有所帮助! 最近群里有这样一个有意思的问题,大家在讨论,使用 CSS 3D 能否实现如下所示的效果: 这里的核心难点在于,如何利用 CSS 实现一个立体的数字?CSS 能做到吗? 不是特…

      2025年12月24日 好文分享
      000
    • CSS高阶技巧:实现图片渐隐消的多种方法

      将专注于实现复杂布局,兼容设备差异,制作酷炫动画,制作复杂交互,提升可访问性及构建奇思妙想效果等方面的内容。 在兼顾基础概述的同时,注重对技巧的挖掘,结合实际进行运用,欢迎大家关注。 正文从这里开始。 在过往,我们想要实现一个图片的渐隐消失。最常见的莫过于整体透明度的变化,像是这样: 立即学习“前端…

      2025年12月24日 好文分享
      000
    • css实现登录按钮炫酷效果(附代码实例)

      今天在网上看到一个炫酷的登录按钮效果;初看时感觉好牛掰;但是一点一点的抛开以后发现,并没有那么难;我会将全部代码贴出来;如果有不对的地方,大家指点一哈。 分析 我们抛开before不谈的话;其实原理和就是通过背景大小以及配合位置达到颜色渐变的效果。 text-transform: uppercase…

      2025年12月24日
      000
    • CSS flex布局属性:align-items和align-content的区别

      在用flex布局时,发现有两个属性功能好像有点类似:align-items和align-content,乍看之下,它们都是用于定义flex容器中元素在交叉轴(主轴为flex-deriction定义的方向,默认为row,那么交叉轴跟主轴垂直即为column,反之它们互调,flex基本的概念如下图所示)…

      2025年12月24日 好文分享
      000
    • 手把手教你用 transition 实现短视频 APP的点赞动画

      怎么使用纯 css 实现有趣的点赞动画?下面本篇文章就带大家了解一下巧妙借助 transition实现点赞动画的方法,希望对大家有所帮助! 在各种短视频界面上,我们经常会看到类似这样的点赞动画: 非常的有意思,有意思的交互会让用户更愿意进行互动。 那么,这么有趣的点赞动画,有没有可能使用纯 CSS …

      2025年12月24日 好文分享
      000
    • 巧用CSS实现各种奇形怪状按钮(附代码)

      本篇文章带大家看看怎么使用 CSS 轻松实现高频出现的各类奇形怪状按钮,希望对大家有所帮助! 怎么样使用 CSS 实现一个内切角按钮呢、怎么样实现一个带箭头的按钮呢? 本文基于一些高频出现在设计稿中的,使用 css 实现稍微有点难度和技巧性的按钮,讲解使用 css 如何尽可能的实现它们。【推荐学习:…

      2025年12月24日 好文分享
      000
    • 原来利用纯CSS也能实现文字轮播与图片轮播!

      怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯css也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助! 今天,分享一个实际业务中能够用得上的动画技巧。【推荐学习:css视频教程】 巧用逐帧动画,配合补间动画实现一个无限循环的轮播效果,像是这样: 立即学习“前端…

      2025年12月24日 好文分享
      000
    • 总结整理:需要避坑的五大常见css错误(收藏)

      本篇文章给大家总结5个最常见的css错误,并介绍一下避坑方法,希望对大家有所帮助! 正如我们今天所知,CSS语言是web的一个重要组成部分。它使我们有能力绘制元素在屏幕、网页或其他媒体中的展示方式。 它简单、强大,而且是声明式的。我们可以很容易地实现复杂的事情,如暗黑/光明模式。然而,对它有很多误解…

      2025年12月24日
      000
    • CSS+JS实现爱心点赞按钮(代码示例)

      本篇文章给大家介绍一下css+js实现一个“爱之满满”点赞按钮的方法,希望对大家有所帮助! 前段时间在看一档说唱节目,被里面的一个说唱歌手JBcob的爱之满满这句词给洗脑了。 于是这次给大家带来一个爱之满满的点赞按钮,让大家在点赞的同时还能感受到被爱包裹的感觉。 立即学习“前端免费学习笔记(深入)”…

      2025年12月24日 好文分享
      000
    • 教你使用css3给字体添加立体效果(附代码)

      之前的文章《手把手教你怎么使用html+css实现轮播图效果(代码分享)》中,给大家介绍了怎么使用html+css实现轮播图效果。下面本篇文章给大家介绍怎么使用css3给字体添加立体效果,我们一起看看怎么做。 字体添加立体效果图如下 1、新建一个html文件,首先写div标签输入写contented…

      2025年12月24日 好文分享
      000
    • 手把手教你使用css3制作炫酷的导航栏效果(代码详解)

      之前的文章《教你使用css3给字体添加立体效果(附代码)》中,给大家介绍了怎么使用css3给字体添加立体效果。下面本篇文章给大家介绍怎么使用CSS3制作炫酷的导航栏效果,我们一起看看怎么做。 炫酷的导航栏效果图如下 CSS3制作炫酷的导航栏效果的方法 1、新建一个html文件,首先写div标签输入写…

      2025年12月24日 好文分享
      000
    • 让人眼前一亮的五个前端小技巧

      为了让大家编程更轻松一些,本挑选一些有用的但相对比较少见有用的技巧。废话不多说,开车了。 1.快速隐藏 要隐藏一个DOM元素,不需要JavaScript。一个原生的HTML属性就足以隐藏。其效果类似于添加一个style display: none;。 该段落在页面上是不可见的,它对HTML是隐藏的。…

      2025年12月24日
      000
    • 10款好看且实用的文字动画特效,让你的页面更吸引人!

      图片和文字是网页不可缺少的组成部分,图片运用得当可以让网页变得生动,但普通的文字不行。那么就可以给文字添加一些样式,实现一下好看的文字效果,让页面变得更交互,更吸引人。下面创想鸟就来给大家分享10款文字动画特效,好看且实用,快来收藏吧! 1、网页玻璃文字动画特效 模板简介:使用css3制作网页渐变底…

      2025年12月24日 好文分享
      000
    • 如何实现炫酷的数字大屏

      依托强大无远开发平台,可以快速实现带各种酷炫联动效果的数字化大屏。一起来看一下吧 DEMO 地址:https://previewer.wuyuan.io/p… 配置地址:https://workbench.wuyuan.io/p… 效果图 1 效果图 2 实现步骤 1. 完成…

      2025年12月24日 好文分享
      000
    • 教你怎么使用css3给图片添加渐变效果(代码详解)

      之前的文章《手把手教你怎么使用CSS3实现动画效果(代码分享)》中,给大家介绍一下怎么使用css3动画效果设置经验。下面本篇文章给大家介绍怎么使用css3给图片添加渐变效果,伙伴们来看看一下。 初次接触css3渐变是在很早以前了,觉得这个东西很有意思哈,跟玩 PS 似的,可以做出很多华丽的东西。 浏…

      2025年12月24日 好文分享
      000
    • 手把手教你使用CSS3制作一个简单页面的布局(代码详解)

      之前的文章《深入解析微信小程序页面中实现的保存图片(附代码)》中,给大家了解一下微信小程序页面中实现的保存图片。下面本篇文章给大家介绍怎么使用CSS3制作一个简单页面的布局,感兴趣的小伙伴们可以参考一下。 兼容性 2009 年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响…

      2025年12月24日 好文分享
      000
    • 使用JS或CSS如何实现瀑布流布局,几种方案介绍

      本篇文章带大家了解一下瀑布流布局,介绍一下三种靠谱js方案,以及n种不靠谱css方案。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 本着实用精神,我们今天来分享一下瀑布流布局(昨天有个小兄弟问我怎么做,我找了半天没找到,啊原来写在内网了)。 演示地址: http://www.li…

      2025年12月24日 好文分享
      000

    发表回复

    登录后才能评论
    关注微信