1. //楼层的js
    var scroChange;
  2. //楼层跳转
  3. function FloorGo(domId){//传入目标的id
  4. clearInterval(scroChange);
  5. var scrollHeight = $(document).height();//获取滚动条可以滚动的所有距离
  6. var windowHeight = $(window).height();//获取屏幕高度
  7. var domIdTop=$('#'+domId+'').offset().top-150;//获取目标的滚动条高度
  8. scroChange=setInterval(function(){
  9. var win_scT=$(window).scrollTop();//获取当前滚动条高度
  10. var scT_pc=domIdTop-win_scT;//获取目标与当前滚动条的差值
  11. if(scT_pc<0){//如果差值小于0;表示目标在目前滚动条的上方
  12. var scT_change1=Math.abs(scT_pc/3);
  13. $(window).scrollTop(win_scT-scT_change1);
  14. var pcz=Math.abs(win_scT-scT_change1-domIdTop);
  15. // console.log(pcz);
  16. //如果目前的高度和目标的高度在两个像素以内则停止滚动
  17. if(pcz<3){
  18. clearInterval(scroChange);
  19. }
  20. }else{//如果差值不小于0;表示目标在目前滚动条的下方
  21. if(win_scT + windowHeight > scrollHeight-10){//如果滚动滚动到页面最底部10像素以内,停止滚动
  22.    clearInterval(scroChange);
  23.    }
  24. var scT_change1=Math.abs(scT_pc/3);
  25. $(window).scrollTop(win_scT+scT_change1);
  26. var pcz=Math.abs(win_scT+scT_change1-domIdTop);
  27. //如果目前的高度和目标的高度在两个像素以内则停止滚动
  28. if(pcz<3){
  29. clearInterval(scroChange);
  30. }
  31. }
  32. },10)
  33.  
  34. }

  

  1. //判断是否https 协议
  2. var isHttps = /^https:$/.test(location.protocol) ? true : false;
  3. function formatPrice(src, pos) {
  4. var f_x = parseFloat(src);
  5. if (isNaN(f_x)) {
  6. return false;
  7. }
  8. var f_x = Math.floor(src * Math.pow(10, pos)) / Math.pow(10, pos);
  9.  
  10. var s_x = f_x.toString();
  11. var pos_decimal = s_x.indexOf('.');
  12. if (pos_decimal < 0) {
  13. pos_decimal = s_x.length;
  14. s_x += '.';
  15. }
  16. while (s_x.length <= pos_decimal + 2) {
  17. s_x += '0';
  18. }
  19. return s_x;
  20. }

  

  1. /**
  2. * 求数组中最大值和最小值
  3. *
  4. * @param {Object}
  5. * arr
  6. * @param {Object}
  7. * maximin
  8. * @return {TypeName}
  9. */
  10. function getMaximin (arr,maximin) {
  11. if (maximin == "max") {
  12. return Math.max.apply(Math, arr);
  13. }else if (maximin == "min") {
  14. return Math.min.apply(Math, arr);
  15. }
  16. }

  

  1. /**
  2. * 深拷贝
  3. * @param {Object} obj
  4. * @returns {Object} clone的对象
  5. */
  6. export function deepClone(obj) {
  7. if (obj === null) return obj
  8. if (typeof obj !== 'object') return obj
  9. const objClone = new obj.constructor()
  10. for (const key in obj) {
  11. if (obj.hasOwnProperty(key)) {
  12. // 判断ojb子元素是否为对象,如果是,递归复制
  13. if (obj[key] && typeof obj[key] === 'object') {
  14. objClone[key] = deepClone(obj[key])
  15. } else {
  16. // 如果不是,简单复制
  17. objClone[key] = obj[key]
  18. }
  19. }
  20. }
  21. return objClone
  22. }

  

临时的js方法的更多相关文章

  1. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  2. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  3. 两种js方法发起微信支付:WeixinJSBridge,wx.chooseWXPay区别

    原文链接:https://www.2cto.com/weixin/201507/412752.html 1.为什么会有两种JS方法可以发起微信支付? 当你登陆微信公众号之后,左边有两个菜单栏,一个是微 ...

  4. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  5. 解决webkit浏览器中js方法中使用window.event提示未定义的问题

    这实际上是一个浏览器兼容性问题,根源百度中一大堆,简要说就是ie中event对象是全局变量,所以哪里都能使用到,但是webkit内核的浏览器中却不存在这个全局变量event,而是以一个隐式的局部变量的 ...

  6. ASP.Net 在Update Panel局部刷新后 重新绑定JS方法

    我们知道Asp.Net中的Update Panel可以完成页面的局部刷新(实质上是Ajax),但是局部刷新完后,此区域的控件上所绑定的JS方法就会失效,因为我们用如下方法来重新绑定. var prm ...

  7. JS调用OC方法并传值,OC调用JS方法并传值////////////////////////zz

     iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)     最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点 ...

  8. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

  9. 与考试相关的JS方法

    var IsChange = 0;var ensure = 0;var timeCounter = (function () {//考试剩余时间 倒计时 var int; //var total = ...

随机推荐

  1. httputil用http获取请求的工具类

    package com.xiaocan.demo.util; import java.io.IOException; import java.io.InputStream; import java.u ...

  2. Charles抓取微信小程序数据 以及 其它应用网站数据

    为了抓取小程序数据所以使用Charles来抓取,下面介绍下使用方法(mac环境下使用).使用Charles可以非常方便的抓取Http/Https请求.官方dmg下载地址:点击此处下载 Charles抓 ...

  3. (转载)你真的理解Android AIDL中的in,out,inout么?

    前言 这其实是一个很小的知识点,大部分人在使用AIDL的过程中也基本没有因为这个出现过错误,正因为它小,所以在大部分的网上关于AIDL的文章中,它都被忽视了——或者并没有,但所占篇幅甚小,且基本上都是 ...

  4. PC比价软件

    方法:从百度中搜索比较软件排行,并且根据将搜索时间缩小在一年内.统计前面一页结果网站中的比价软件. 名称 备注 统计 淘淘搜购物助手 淘宝购物比价神器 1 省省比价软件 主流网购商城进行横向比较的智能 ...

  5. shell-3.bash的基本功能:多命令顺序执行与管道符

    1. 2.

  6. swift语言点评十四-继承

    Overriding A subclass can provide its own custom implementation of an instance method, type method, ...

  7. SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理

    在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...

  8. eclipse的maven工程视图切换

    上面图切换成下面图: 点击eclipse右上角,如下图红圈,然后在选择javaEE这样就切换成javaEE视图了

  9. Mathab和Python的numpy中的数组维度

    Matlab和Python的numpy在维度索引方面的不同点: 1.索引的起始点不同:Matlab起始位置的索引为1,Python为0. 2.索引的括号不同:Matlab中元素可以通过小括号表示索引, ...

  10. 多任务-进程之进程池Pool

    1.什么是池? 首先从字面上看,池代表着一个容器,用来承载着某些内容的容器,了解到这里,就对进程池有了一个初步的轮廓. 2.什么是进程池Pool? (1)利用现实中的事物来理解: 对于小白初学者,接触 ...