给document.documentElement.scrollTop赋值以后怎么返回成可变量?

如题,

为了仿照css3中transform 2D平移事件

        <script>
            var a = document.getElementsByClassName('a');
            var i = 0;

            for (i = 0; i < a.length; i++) {
                a[i].onmouseover = function () {
                    startMove3(this);//注意,这里是要做一个触摸按钮然后页面移动到指定位置,其中的变量已经固定。
                }
            }

            //获取目标元素到顶部的高度
            function getElementToPageTop(el) {
                if (el.parentElement) {
                    return this.getElementToPageTop(el.parentElement) + el.offsetTop
                }
                return el.offsetTop
            }

            function startMove3(obj) {
                //获取当前的位置
                clearInterval(obj.timer);
                obj.timer = setInterval(function () {
                    var iCur = 0;

                    iCur = document.documentElement.scrollTop || document.body.scrollTop; //注意检查这里的

                    //*计算目标

                    //页面可见高
                    var iCurBodyHeight = document.body.clientHeight;
                    //盒子的总高
                    var mainBannerHeight = document.getElementById('main-banner').offsetHeight;
                    //移动图片的高,四张图片
                    var oHeight = mainBannerHeight / 4;
                    //需要居中时top
                    var oMargin = (iCurBodyHeight - oHeight) / 2;
                    //目标
                    var iTarget = 0;
                    var iTargetNeeds = 0;

                    //移动盒子的对应至最顶部的高

                    if (obj == a[0]) {
                        iTargetNeeds = getElementToPageTop(document.getElementById('lists1'));
                    } else if (obj == a[1]) {
                        iTargetNeeds = getElementToPageTop(document.getElementById('lists2'));
                    } else if (obj == a[2]) {
                        iTargetNeeds = getElementToPageTop(document.getElementById('lists3'));
                    } else {
                        iTargetNeeds = document.documentElement.offsetHeight;
                    } 


                    //需要被卷走的距离
                    iTarget = iTargetNeeds - oMargin;

                    //计算速度
                    var iSpeed = (iTarget - iCur) / 8;
                    iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);

                    //检测停止 
                    if (iCur != iTarget) {
                        bStop = false;
                    }

                    document.documentElement.scrollTop = iCur + iSpeed; //执行一次以后成为固定值,这里怎么使其能够改变,

                    if (bStop) {
                        clearInterval(obj.timer);

                        if (fn) {
                            fn();
                        }
                    }
                }, 30)
            }
        </script>
0
扫码支付0.1元 ×
其他相关推荐
Kotlin 变量和方法
变量Kotlin 有两个关键字定义变量:var 和 val, 变量的类型在后面。 var 定义的是可变变量,变量可以被重复赋值。val 定义的是只读变量,相当于java的final变量。
ajax返回数据赋值给全局变量的问题
问题的引出使用ajax从后台查询数据给ztree赋值初始化时, 发现ajax成功回调方法中不能将返回值赋给js中声明的全局变量, 如图所示: ztree初始化失败, 因为ztreeNodes为Null(请自动忽略setting的配置), 在浏览器控制台可以看到: log1处打印了数据, 而log2显示undefin. 然而, 将91行的ztree初始化代码移至84行, 页面是可以显示树形图的.解
引用作为函数返回值(对函数赋值)
今天在看STL的RB-tree时,发现了一个很奇怪的赋值方式,形式如下: root() = 0; leftmost() = _M_header; rightmost() = _M_header; 这三个函数原型为:link _type& root() const { return (link _type&) header->parent; }link _type& leftmost() c
ajax返回数据赋值给前台变量
var result; $.ajax({ url:&amp;amp;quot;${pageContext.request.contextPath}/backend/scenic/list.action&amp;amp;quot;, type:&amp;amp;quot;POST&amp;amp;quot;, d
如何将hive的执行结果返回给一个变量
首先可以将hive sql写入python脚本 假如有如下hive sql: hive_cmd = 'hive -e "select count(*) from hbase.routermac_sort_10;"' 一般在python中按照如下方式执行该hive sql: os.system(hive_cmd) 但是当我需要在程序中拿到count()的执行结果时,使用os.s
php jQuery把后台返回的json数据赋值给页面标签
首先把后台获取到的数据转换成json格式: public function findgzhAction(){ $ter=M('ter_addinfo'); $id=I('get.id'); $gzhinfo=$ter->where('id='.$id)->find(); echo json_encode($gzhinfo); //转成json数据 } 然后在前
数组push之后赋值给新变量之后输出为数字问题
数组push之后赋值给新变量之后输出为数字问题话不多说直接上代码 let arr=['ababab']; let str='cdccdcd'; let arr1=arr.push(str); console.log(arr1); 你认为会输出什么真是的输出值是 2; 为什么? 查阅w3c文档之后才发现,push()是有返回值的,返回的是长度
ajax中的success中返回值设置为全局变量
转载地址:http://www.cnblogs.com/Relict/p/3893963.html方案一、//在全局或某个需要的函数内设置Ajax异步为false,也就是同步.$.ajaxSetup({async : false});  //然后再进行你的Ajax操作 $.post(地址, 参数, function(data, status) { if (status == "su
Ajax的data赋值不了值给变量,回调函数不能赋值问题及解决办法
在我们写项目的过程中,难免会用到Ajax的异步提交。那么有时候的需求可能是这样的。 我们想把回调函数的data中的值赋值给外部定义的变量,但往往可能发现根本就没有赋值。 //创建一个flag变量 var flag=&amp;quot;&amp;quot;; $.ajax( url:&amp;quot;请求的url地址&amp;quot;, dataType:&amp;quot;返回的数据格式&amp;quot;, data:{参数}, success:function(data){
动态SQL 并且把返回的值赋给变量
动态SQL 并且把返回的值赋给变量,sp_executesql,动态sql语句基本语法
ajax同步提交数据,并把请求返回值赋值给全局变量
ajax默认请求是异步的即async: true,只需改为async: false即可 function ajaxFormat(url,params){ var dictBasic = ""; $.ajax({             cache: true,             type: "POST",             url:url,            
shell中将命令结果赋值给变量
shell中将命令结果赋值给变量两种方法,推荐使用后者,支持嵌套,下面两个参考链接写得很清楚了var=`command`var=$(command) 参考:http://stackoverflow.com/questions/9449778/what-is-the-benefit-of-using-instead-of-backticks-in-shell-scriptshttp://book.51
ajax请求最后执行,成功后无法给变量赋值
现在最外层定义一个变量,      var result1 = 1;                        $.ajax({ async: false,//同步 type: &quot;POST&quot;, ...
对符号表达式或函数表达式赋值
syms x y;%定义变量x,y z=x^5*y^3;%表达式 x1=[0:20]; y1=[0:20]; z1=subs(z,{x,y},{x1,y1});%可使用x1,y1,z1绘制三维图 disp(z);%写出表达式
关于ajax中success返回值赋值给全局变量undefined
在调用一个jQuery的ajax方法时,我们有时会需要返回一个值或者赋值给某个全局变量, 但是调用方法执行结束后,却发现赋值的全局变量的值是undefined,这时很有可能是因为ajax的参数async,他的默认值是true,即异步执行,即你没拿到数据也能继续走下去,如: function a(){ var year = 2012; var c; ...
Verilog赋值语句
0 简介        赋值分为“连续赋值语句”、“过程赋值语句”和“过程连续赋值语句”。 1 连续赋值语句        语法上,必须有assign关键字标识; 用于对线网进行赋值,等价于门级描述;        不能出现在过程块(initial / always)中;        产生作用后,赋值表达式中的信号任何变化都会立即反映到左值线网型数据中; 2 过程赋值语句    
如何为数组中的变量赋值
直接上代码 /* 数组的操作,使用索引,对数组中的元素赋值 */ public class ArrayDemo_1{ public static void main(String[] args){ //定义数组,存储int类型数组,长度是5 int[] arr = new int[5]; //将1索引上的元素,赋值3 ...
JQuery ajax 返回值如何进行赋值
问题如下: ajax提交请求获得的数据我把它附给一个var变量,但老是报一个错误,没有对象 网上资料: 这个$.ajax可以有返回值的,返回值是xmlhttprequest对象 但是为了能够让返回值正确赋值,你必须把ajax设置为同步的,而非异步的。 async :false   js代码: var old = ""; $.ajax({ type:"POST"
ajax给js变量赋值
    var winData;            $.ajax({                  type :&quot;POST&quot;,                  async :false,//取消异步 否则flage复制失败                  url:'/Mall/GetGift',                  datatype : &quot;json&quot;,          ...
怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器
怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器?.txt怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器?.txt怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器?.txt
函数的变量和返回值
一、函数的变量 1.函数变量分为局部变量和全局变量 局部变量:在Python中的任何变量都有特定的作用域,在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 全局变量:在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量。 2.看个例子,来了解一下局部变量和全局变量 (1)
C#匿名方法返回值赋值给变量
The problem here is that you've defined an anonymous method which returns a string but are trying to assign it directly to a string. It's an expression which when invoked produces a string it's not ...
关于ajax请求数据,并将数据赋值给全局变量的一些解决方法
在使用ajax请求数据是,开始的时候是打算将ajax的数据取出,并赋予给全局变量,但是在实际编码过程中发现并不能将数据赋予给最开始定义的全局变量,出现这个问题的原因是由于ajax异步加载的原因,所以只能用其他方法来解决,下来是解决的方法第一个解决方法没有使用全局变量,直接在ajax请求中将请求到的数据赋值给需要的地方 第二个方法是将请求到的数据,通过方法传参来传递给一个方法,然后再方法中来调用请求
python输入字典项,然后返回任意一个,用于字典项赋值给一个变量
def inputRandReturn(self,listVal): '''传入字符串用以返回任意一个,用于给字典项赋值,以逗号分割切成,不能有空格,否则报错''' listVales = listVal.split(',') time.sleep(1) rad = random.randrange(le...
Vue重构项目时对document.body.scrollTop的设置不起作用
用Vue重构项目时对document.body.scrollTop的设置不起作用 goto(index) { this.index=index let goto = document.getElementsByClassName('scroll-item'); // 获取滚动条需要移动的高度 let total =goto[index...
给函数返回值赋值
今天看C++ Primer,里面提到给函数返回值赋值,还真是不知道这种用法,肯定是以前上课没听讲,科科 例子如下: char &get_val(string &str, string::size_type ix) { return str[ix]; } int main() { string s("a value"); cout<<s<<endl;//prints a value ge
static静态代码块中给静态成员变量赋值坑
public class testdemo { private static final String name; static { name = &quot;string&quot;; try { // name=&quot;string&quot;; } catch (Exception e) { e.printStack...
python中的变量,赋值等详细解析
在 python 中赋值语句总是建立对象的引用值,而不是复制对象。因此,python 变量更像是指针,而不是数据存储区域,这点和大多数 OO 语言类似吧,比如 C++、java 等 ~1、先来看个问题吧:在Python中,令values=[0,1,2];values[1]=values,为何结果是[0,[...],2]?&amp;gt;&amp;gt;&amp;gt; values = [0, 1, 2] &amp;gt;&amp;gt...
【转】获取scrollTop兼容各浏览器的方法,以及body和documentElement有啥区别?
1、各浏览器下 scrollTop的差异  IE6/7/8:  对于没有doctype声明的页面里可以使用  document.body.scrollTop 来获取 scrollTop高度 ;  对于有doctype声明的页面则可以使用 document.documentElement.scrollTop;  Safari:  safari 比较特别,有自己获取scrollTop的函数
Matlab如何给符号变量赋值?
答:可以用:subs(符号变量/符号变量的矩阵) syms z1 z2 z3 z4 z11 z22 z33 z44 IL1 IL2 Us1 Us2 A=[1,-1,0,0,0,0,0,0;     0,1,1,0,0,0,0,0;     0,0,0,0,1,-1,0,0;     0,0,0,0,0,1,1,0;     1,0,0,1,1,0,0,1;     z1,z2,-z3,-z4,0...
SqlServer中存储过程中将Exec的执行结果赋值给变量输出
背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字段值,然后再利用这些值进行逻辑运算(自己的逻辑),最后将结果输出。话不多说,直接上图,看是否是你想要的结果:   说明:【区域1为要用来测试的表】【  区域2 为表中数据】【区域3 为表中数据jan+feb+mar列值的和5】 存储
PHP 如何给常量赋值变量
由于在类里的常量可以通过ClassName::constname这样的方式直接引用,所以很多人就喜欢在类里面定义常量值,那么怎么给常量值赋值呢? 你可以先定义一个全局常量 define('GV', 'value'); 再给这个成员赋值 class A {     const PV = GV; } 但是不接受变量的赋值 const PV = $another; 是错误的
通过ajax给js成员变量赋值问题
使用ajax给成员变量赋值需要取消异步否则或出现赋值失败 解决办法 在ajax里面加上async :false, 既可 function check(){ //SerialNo重复校验 var SerialNoVal = $("#SerialNo").textbox("getValue"); var SerialNoVal0 = $("#SerialNo0").val();
JS变量值赋值给html value
试过几种方法,最终发现也只有session可以成功。 结论:JS变量值不可以赋值给html value。 若有高手可以提供方法,万分感谢
shell 命令返回值 传递
标准输出 方法一: 注意cat命令外面的那个引号是反引号,键盘上数字1旁边那个 xxx@xxx-desktop:~/temp$ aaa=`cat 123` xxx@xxx-desktop:~/temp$ echo $aaa abc   方法二: xxx@xxx-desktop:~/temp$ ccc=$(cat 123) xxx@xxx-desktop:~/temp$ echo $...
给 TensorFlow 变量进行赋值
** 正如标题所示,本文介绍如何给TensorFlow 的 Variable变量进行赋值。 ** 首先看代码: 然后就是运行结果: 咦,奇怪,居然没有赋值成功,然后我试了其他的方法,都不得行,但是又不想去弄一个什么占位符,增加代码的复杂性,所以,接下来,代码这样修改,如下: 结果如下: ...
python中将函数赋值为变量
最近看代码,被变量赋值搞得头晕,略微整理一下。 #t.py def hello(): print(&amp;quot;hello&amp;quot;) return 1 #main1.py from t import hello hello=1 #hello指向1,从此开始,导入的hello函数丢失。 h=hello() #报错:'int' object...
python同时给多个变量赋值
Python允许你同时为多个变量赋值。例如: a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。 您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "john" 以上实例,两个整型对象1和2的分配给变量a和b,字符串对象"john"分配给变量c。 错误示范:
C++整型和浮点型变量
整型变量 计算机内存是由位(bit)组成的,n位单元可设置为2的n次方个不同的值,比如8位单元可设置为256(2^8)个不同的值,C++整型变量的存储有short, int, long,long long  ,char五种。 short   至少16位;-32768-32767 ,0没有符号,因此负数比正数多一个。 int 至少与short 一样长; long 至少32位,
字符串自动给JSON赋值
下载Jsoncpp,把里面的include和src下的文件拿到自己的工程 object结构 {“字段”:“值”,“字段”:“值”,..................}  array结构 [object,object,object..................] 字符串自动转化为JSON  "{\"ID\":125,\"Name\":\"荣九\"}" Json::Re
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java以后 java培训以后出来