10-12无缝滚动、DOM、

一、无缝滚动js

<script>
window.οnlοad=function(){
var box = document.getElementById("box");
var uls = box.getElementsByTagName("ul")[0];
var lis = uls.getElementsByTagName("li");
var imgs = uls.getElementsByTagName("img");
var speed = 1;//设置移动的速度
uls.innerHTML +=uls.innerHTML; //动态设置装载图片的容器的内容保持有两组相同的内容
uls.style.width=lis[0].offsetWidth*lis.length+'px';//动态设置容器的宽度
var btnLeft = document.getElementById("left");//控制方向向左的按钮
var btnRight = document.getElementById("right");//控制方向向右的按钮
function scrollImg(){//让图片滚动起来
if(uls.offsetLeft<-uls.offsetWidth/2){//向左滚动:判断如果左面的距离超过一半,就把装载图片的容器回到原点
uls.style.left='0px';
}
if(uls.offsetLeft>0){//向右滚动:判断如果装载图片的容器大于起点(即左边没图),则让容器的左边移动到左边宽度一半的位置
uls.style.left=(-uls.offsetWidth/2)+'px';
}
uls.style.left=uls.offsetLeft+speed+'px';//移动容器
}
var timer =setInterval(scrollImg,3);//使用定时器让函数调用,实现滚动
uls.οnmοuseenter=function(){//鼠标移入时使图片停止滚动
clearInterval(timer);//使用清空定时器方法来实现停止滚动
this.οnmοuseleave=function(){//鼠标移开让定时器继续,实现滚动
timer =setInterval(scrollImg,3);
}
}
btnLeft.onclick = function(){
speed=-1; //控制滚动的方向向左
}
btnRight.οnclick=function(){
speed=1; //控制滚动的方向向右
}
}
</script>


二、DOM节点的操作:

function childrenNodeStyle(obj,property,val){//用DOM节点给第一个子节点设置样式
if(obj.firstElementChild){//非IE浏览器
obj.firstElementChild.style[property]=val;
}else{//IE浏览器
obj.firstChild.style[property]=val;
}
}
function getClassArr(oArr,cName){//获取一组数组内具有相同类名的对象 返回这组对象的数组集合
var arr=[];
for(var i =0;i<oArr.length;i++){
if(oArr[i].className==cName){
arr.push(oArr[i]);
}
}
return arr;
}


插入节点:

box.appendChild(oLi);//在对象后插入子节点
box.insertBefore(oLi,box.children[0]);//在旧结点前插入新节点

father.remove(child);//根据父节点删除子节点


object对象的操作:

arr.join('');//拼接数组之间的元素转为字符串类型

var obj = {a:[5,6,7],b:[6,99],c:9};//用object对象可以存储数组,但是数组不可以存储obj对象


var arr=["border","bottom","color"];
for(var i=1;i<arr.length;i++){
arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1);
}

arr.join('');

//使用数组方法将字符串转为驼峰命名法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值