返回顶部
首页 > 资讯 > 前端开发 > html >jQuery如何实现自制刻度尺样式
  • 291
分享到

jQuery如何实现自制刻度尺样式

2024-04-02 19:04:59 291人浏览 薄情痞子
摘要

小编给大家分享一下Jquery如何实现自制刻度尺样式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图jQuery中的exte

小编给大家分享一下Jquery如何实现自制刻度尺样式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

效果图

jQuery如何实现自制刻度尺样式

jQuery中的extend方法

  这里我参考了前辈的博客,在前辈博客中可以进行更深一步的学习

  文档中给的解释是:jQuery.extend()函数主要是用于将一个或多个对象的内容合并到目标对象上,该函数可以将一个或多个对象的成员属性和方法复制到指定的对象上。

  extend也是在我们写插件时常用的方法,

1、扩展方法的原型

$.extend(param,dparam...),它的含义是将dparam合并到param中,

需要注意如果多个对象具有该属性,则后者会覆盖前者的属性值,

也就是说var result = $.extend({},{name : 'jsoso',age:17},{name:"okaychen",sex:"boy"})

最后 result = {name:"okaychen",age:17,sex:"boy"};

2、只有一个参数的情况

只有一个参数时会将改方法合并到jQuery的全局对象中

比如:

$.extend(
  {hello:function(){console.log('hello extend')}}

)

最终会将hello方法添加到jQuery全局对象中去。

3、带布尔值的情况

jQuery中的extend还有一种重载原型

语法:$.extend(boolean,dest,src1,src2...) 

第一个布尔值参数表示是否使用深度拷贝,默认为false(可以明确指定为true,但是不能明确指明为false)

jQuery如何实现自制刻度尺样式

那么什么是深度拷贝呢?其实不难理解,深度拷贝就是该"属性对象"的"属性"也会被拷贝的目标对象中

var result = $.extend(true, {}
  {name:'JSoso',abstract: {age:17,country:'USA'}},
  {last:"Amor",abstract: {state:'student',country:'China'}}
);

那么合并后的结果就是:

result = {
  name:'JSoso',
  last:'Amor',
  abstract:{age:17,state:'student',country:'China'}
}

那么如果参数是false,结果会是神马呢?

result = {
  name : "JSoso",
  last : "Amor",
  abstract:{state:"student",country:"China"}
}

会看到第一个abstract内的属性并没有被拷贝,因为没有执行深度拷贝,所以abstract会被后一个覆盖掉了。

关于extend拷贝的方法我总结了上面三点,其实还有好多学问,需要我们去发掘。

流程分析

  我看目前网上几乎都是水平的可滑动的刻度尺插件,几乎没有竖直的插件,其实也大同小异。因为做这个东西的需要,所以我需要做一个竖直的刻度尺(而且我本人也不喜欢用插件,我想有一天实现我的插件梦)。

我做这个插件的第一步是先用html+ CSS静态的写出大致的效果(这样的同时我觉得我也直观的构思了这个东西的大致架构),比如先0~10做出来,然后计算好间距,然后在后面做文章。 

当我们清晰了这个刻度尺的架构之后,需要做的就是用append的方法(这里我用的jQuery)插入到指定的位置就可以了(因为这个时候你的刻度尺css代码基本已经完成)。

jQuery如何实现自制刻度尺样式

然后我们需要处理中间标志(即曲线的初始位置)

var firstRand = true;
if (firstRand) {
 pTop = $(".rulerPointer").position().bottom;
}
var rulerLNo = 0;
for (var z = 0; z < setLen; z++) {
  if (z * setHeight > pTop) {
   limitTop = pTop - z * setHeight;
   rulerLNo = z;
   break;
 }
}

改变曲线的位置<和传入的数值相对应>

 if (param.value && param.value >= param.minUnit && param.value <= param.max) {
  $(" .rulerPointer").css("bottom", (param.value / param.minUnit) * 10 * param.mult)
} else {
  $(" .rulerPointer").css("bottom", '0');
}

然后我们用each遍历的方法给刻度尺标上刻度值(这里idx就是索引值,ele表示获取遍历的每一个dom对象)

$("#" + param.wrapperId + " .sizeNo").each(function (idx, ele) {
 if (idx >= rulerLNo && idx < setLen) {
   $(ele).html((idx - rulerLNo) * param.minUnit *param.unitSet);
 }
})

到这里我们的刻度尺的代码已经完成(我只展示了部分代码)。

初始化

  当我们完成插件的封装,我们只需要创建一个实例化的对象就可以了。

var measureRuler = new MeasureRuler({
 wrapperId:"rulerWrapper",        //刻度尺容器的ID
 max:110,         //最大刻度
 minUnit:1,         //最小刻度
 unitset:10,         //刻度尺单元长度
 value:60,         //初始化值,曲线的初始位置
 mult:1          //刻度尺倍数,默认为10px
})

以上是“jQuery如何实现自制刻度尺样式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: jQuery如何实现自制刻度尺样式

本文链接: https://lsjlt.com/news/67632.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jQuery如何实现自制刻度尺样式
    小编给大家分享一下jQuery如何实现自制刻度尺样式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图jQuery中的exte...
    99+
    2024-04-02
  • js如何实现移动端H5页面手指滑动刻度尺功能
    这篇文章将为大家详细讲解有关js如何实现移动端H5页面手指滑动刻度尺功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。js有什么特点1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支持下,js可以在...
    99+
    2023-06-09
  • Android 自定义圆形带刻度渐变色的进度条样式实例代码
    效果图 一、绘制圆环 圆环故名思意,第一个首先绘制是圆环 1:圆环绘制函数 圆环API public void drawArc (RectF oval, float sta...
    99+
    2022-06-06
    渐变色 自定义 进度条 Android
  • jQuery如何实现页面样式切换
    这篇文章主要介绍了jQuery如何实现页面样式切换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。页面样式切换$(document).read...
    99+
    2024-04-02
  • jquery如何实现兄弟节点移除样式
    这篇文章主要介绍“jquery如何实现兄弟节点移除样式”,在日常操作中,相信很多人在jquery如何实现兄弟节点移除样式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jque...
    99+
    2024-04-02
  • jQuery如何上传多张图片带进度条样式
    这篇文章主要介绍了jQuery如何上传多张图片带进度条样式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体代码如下所示:<!DOCT...
    99+
    2024-04-02
  • 如何使用css实现物流进度的样式
    这篇文章将为大家详细讲解有关如何使用css实现物流进度的样式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果:css样式:<style type="text/css"...
    99+
    2023-06-08
  • jQuery如何实现列高度相同
    这篇文章主要介绍jQuery如何实现列高度相同,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!列高度相同如果使用了两个CSS列,使用此种方式可以是两列的高度相同。$(document)...
    99+
    2024-04-02
  • 如何进行R语言绘制尺子的实现
    如何进行R语言绘制尺子的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。下面使用基本的绘图命令plot、rect、segments、text绘制一把长10厘米...
    99+
    2023-06-26
  • Javascript如何实现动态样式控制方法
    这篇文章主要介绍Javascript如何实现动态样式控制方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方法一:使用style属性来设置使用style属性来设置html代码:   &n...
    99+
    2023-06-29
  • jquery如何实现十进制转二进制
    这篇文章主要介绍了jquery如何实现十进制转二进制的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery如何实现十进制转二进制文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • jQuery如何实现链式操作
    小编给大家分享一下jQuery如何实现链式操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!链式操作jQuery实现方法的链式操...
    99+
    2024-04-02
  • jQuery中如何实现鼠标滑过横向时间轴样式
    本文小编为大家详细介绍“jQuery中如何实现鼠标滑过横向时间轴样式”,内容详细,步骤清晰,细节处理妥当,希望这篇“jQuery中如何实现鼠标滑过横向时间轴样式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果图...
    99+
    2023-06-17
  • FileZilla如何实现速度限制
    这篇文章给大家分享的是有关FileZilla如何实现速度限制的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。FileZilla速度限制速度限制功能就是当网络比较拥挤或FTP站点有特定要求的时候,对文件的上传和下载的...
    99+
    2023-06-16
  • Android开发中如何实现自定义ProgressBar的样式
    Android开发中如何实现自定义ProgressBar的样式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。样式资源:progressbar_bg.xml,放在...
    99+
    2023-05-31
    android gr progressbar
  • 如何实现javaScript和jQuery自动加载
    这篇文章给大家分享的是有关如何实现javaScript和jQuery自动加载的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、JavaScript自动加载①在文本中用onload...
    99+
    2024-04-02
  • jquery如何实现五秒自动隐藏
    这篇文章主要讲解了“jquery如何实现五秒自动隐藏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何实现五秒自动隐藏”吧! ...
    99+
    2024-04-02
  • jQuery+CSS怎样实现前端网页加载进度条的三种方式
    这篇“jQuery+CSS怎样实现前端网页加载进度条的三种方式”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“jQuery+CSS怎样实现前端网页加载进度条的三种方式”,小编整理了以下知识点,请...
    99+
    2023-06-06
  • css如何实现表格样式
    这篇文章主要介绍了css如何实现表格样式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css实现表格样式的方法:首先创建一个HTML示例文件...
    99+
    2024-04-02
  • C#中如何实现button样式
    小编给大家分享一下C#中如何实现button样式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! .btn { BORDER-RIGHT: #7b...
    99+
    2023-06-17
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作