成都网站建设设计

将想法与焦点和您一起共享

javascript步长的简单介绍

javascript中如何实现当点击button按钮时button的长度逐渐增长

很简单,写段代码给你,记得给分哦,呵呵

创新互联公司主营金乡网站建设的网络公司,主营网站建设方案,App定制开发,金乡h5微信小程序定制开发搭建,金乡网站营销推广欢迎金乡等地区企业咨询

script

function test(obj)

{

var stp = 50;//每次增加的步长值

w = Number(obj.style.width.replace("px",""));

obj.style.width = (w + stp) + "px";

}

/script

input type="submit" name="Submit" value="点击测试" style="width:100px" onClick="test(this);"

再补充一下吧,在这里赚分比赚钱还难哦

Number(obj.style.width.replace("px",""));

这行代码的意思是获取当前按钮的的长度,由于按钮声明的样式长度是width:100px, 单位为px(px为像素),获取到的值是100px,这样是没办法做数学运算的,100px把px去掉,就成了100了,然后把100转换成数值,这样就可以做数学运算了,原来的长度是100,每点击一次,加上50,那么就是100+50=150px,这次明白了吗?

js高手来帮我解释一下这段代码的意思

lastScrollY=-0; // 定义变量最后一个 滚动的Y

function backtop() {  // 定义定时器的回调函数backtop

diffY=document.body.scrollTop;  // body 的scrollTop也就是当前滚动的长度为diffY

percent=.1*(diffY-lastScrollY); // 定义变量percent 为 diffY - lastScrollY 乘0.1

// 上面的意思为 body 的滚动高度 减去定义的高度 的十分之一 赋值给 percent变量

if(percent0) {

percent=Math.ceil(percent);

} else {

percent=Math.floor(percent);

}

// 如果计算出来的值是大于0的 就上取整 否则就下取整 (如果不懂可以百度下这两个函数)

//document.all.toolTipLayer2.style.pixelTop+=percent;

// 然后给toolTipLayer2这个元素的 pixelTop属性。加上percent (因为定时器是每1毫秒执行

//一次所以说是不停的加上percent)

lastScrollY=lastScrollY+percent;

// lastScrollY 的值变为 lastScrollY和percent之和。 

// 其实这段代码的含义就是  让一个元素不停的滚动, 因为lastScrollY每次都会成为之前

// 的lastScrollY和percent之和。 所以diffY 减去 lastScrollY 乘以0.1 的值就会越来越小

// 直到他们的值 小于0 后 被下取整后成为0 就不再滚动了。 也就是一个从快到慢的滚动过程 

}

window.setInterval("backtop()",1);

javascript中的for(;;)后面的括号中的符号是什么意思?

括号中的符号是分号,起到分开循环条件的作用。

如 for(i=0;i=10;i++) 表示i从0开始,满足i=10这个条件时循环,每个循环i递增1

web前端javascript能实现什么算法或者计算

在Web开发中,JavaScript很重要,算法也很重要。下面整理了一下一些常见的算法在JavaScript下的实现,包括二分法、求字符串长度、数组去重、插入排序、选择排序、希尔排序、快速排序、冒泡法等等。仅仅是为了练手,不保证高效与美观,或许还有Bug,有时间再完善吧。

1.二分法:

function binary(items,value){

var startIndex=0,

stopIndex=items.length-1,

midlleIndex=(startIndex+stopIndex)1;

while(items[middleIndex]!=value startIndex

if(items[middleIndex]value){

stopIndex=middleIndex-1;

}else{

startIndex=middleIndex+1;

}

middleIndex=(startIndex+stopIndex)1;

}

return items[middleIndex]!=value ? false:true;

}

2.十六进制颜色值的随机生成:

function randomColor(){

var arrHex=["0","2","3","4","5","6","7","8","9","a","b","c","d"],

strHex="#",

index;

for(var i=0;i 6; i++){

index=Math.round(Math.random()*15);

strHex+=arrHex[index];

}

return strHex;

}

一个求字符串长度的方法:

function GetBytes(str){

var len=str.length,

bytes=len;

for(var i=0;i len;i++){

if(str.CharCodeAt255){

bytes++;

}

}

return bytes;

}

3.js实现数组去重:

Array.protype.delRepeat=function(){

var newArray=new Array();

var len=this.length;

for(var i=0;i len;i++){

for(var j=i+1;j len;j++)

{

if(this[i]==this[j])

{

++i;

}

}

newArray.push(this[i]);

}

return newArray;

}

4.插入排序。所谓的插入排序,就是将序列中的第一个元素看成一个有序的子序列,然后不段向后比较交换比较交换。

function insertSort(arr){

var key;

for(var j = 1; j arr.length ; j++){

//排好序的

var i = j - 1;

key = arr[j];

while(i = 0 arr[i] key){

arr[i + 1] = arr[i];

i --;

}

arr[i + 1] = key;

}

return arr;

}

5.选择排序。其实基本的思想就是从待排序的数组中选择最小或者最大的,放在起始位置,然后从剩下的数组中选择最小或者最大的排在这公司数的后面。

function selectionSort(data)

{

var i, j, min, temp , count=data.length;

for(i = 0; i count - 1; i++) {

/* find the minimum */

min = i;

for (j = i+1; j count; j++)

{

if (data[j] data[min])

{ min = j;}

}

/* swap data[i] and data[min] */

temp = data[i];

data[i] = data[min];

data[min] = temp;

}

return data;

}

6.希尔排序,也称递减增量排序算法。其实说到底也是插入排序的变种。

function shellSort(array){

var stepArr = [1750, 701, 301, 132, 57, 23, 10, 4, 1]; //

reverse()在维基上看到这个最优的步长较小数组

var i = 0;

var stepArrLength = stepArr.length;

var len = array.length;

var len2 = parseInt(len/2);

for(;i stepArrLength; i++){

if(stepArr[i] len2){

continue;

}

stepSort(stepArr[i]);

}

// 排序一个步长

function stepSort(step){

//console.log(step) 使用的步长统计

var i = 0, j = 0, f, tem, key;

var stepLen = len%step 0 ? parseInt(len/step) + 1 : len/step;

for(;i step; i++){// 依次循环列

for(j=1;/*j stepLen */step * j + i len;

j++){//依次循环每列的每行

tem = f = step * j + i;

key = array[f];

while((tem-=step) = 0){// 依次向上查找

if(array[tem] key){

array[tem+step] = array[tem];

}else{

break;

}

}

array[tem + step ] = key;

}

}

}

return array;

}

7.快速排序。其实说到底快速排序算法就系对冒泡排序的一种改进,采用的就是算法理论中的分治递归的思想,说得明白点,它的做法就是:通过一趟排序将待排序的纪录分割成两部分,其中一部分的纪录值比另外一部分的纪录值要小,就可以继续分别对这两部分纪录进行排序;不段的递归实施上面两个操作,从而实现纪录值的排序。

function quickSort(arr,l,r){

if(l r){

var mid=arr[parseInt((l+r)/2)],i=l-1,j=r+1;

while(true){

while(arr[++i] mid);

while(arr[--j]mid);

if(i=j)break;

var temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

quickSort(arr,l,i-1);

quickSort(arr,j+1,r);

}

return arr;

}

8.冒泡法:

function bullSort(array){

var temp;

for(var i=0;i array.length;i++)

{

for(var j=array.length-1;j i;j--){

if(array[j] array[j-1])

{

temp = array[j];

array[j]=array[j-1];

array[j-1]=temp;

}

}

}

return array;

}

javascript中的自增步长问题

你可以在循环之外定义一个变量,然后每次都是加这个变量

var step = 2;

for(i=0;i=20;i+=step){

}

这样你就可以控制是每次加2还是加3或者别的了


网站标题:javascript步长的简单介绍
标题链接:http://chengdu.cdxwcx.cn/article/dscpcdj.html