用javascript为页面添加样式

 

// 为element增加一个样式名为newClassName的新样式
function addClass(element, newClassName) {
    // your implement
    var oldClassName=element.className;
    element.className=oldClassName===""?newClassName:oldClassName+" "+newClassName;
}

// 移除element中的样式oldClassName
function removeClass(element, oldClassName) {
    // your implement
    var ori=element.className;
    var t=regExp("\\b"+oldClassName+"\\b")
    if(element.oldClassName){
        element.className=ori.replace(t,"");
    }
}

// 判断siblingNode和element是否为同一个父元素下的同一级的元素,返回bool值
function isSiblingNode(element, siblingNode) {
    // your implement
    return siblingNode.parentNode===element.parentNode;
}

// 获取element相对于浏览器窗口的位置,返回一个对象{x, y}
function getPosition(element) {
    // your implement
    var result={};
    var x=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);
    var y=Math.max(document.documentElement.scrollTop,document.body.scrollTop);
    var result.x=element.getBoundingClientRect().left+x;
    var result.y=element.getBoundingClientRect().top+y;
    return result;
}

 

欲获取元素位置,可使用 getBoundingClientRect() 方法获取当前元素相对于可视区域的位置,再加上滚动条的位置。Firefox、Opera 和 IE 浏览器认为在客户端浏览器展示的页面的内容对应于整个 HTML,所以使用 document.documentElement来代表,相应的滚动距离则通过document.documentElement.scrollLeft 和 document.documentElement.scrollTop 来获取,而 Safari 和 Chrome 浏览器则认为页面开始于 body 部分,从而相应的滚动距离用 document.body.scrollLeft 和document.body.scrollTop 来获取。另外需要注意的是,Firefox 和 IE 的 quirks mode(兼容模式)下是用document.body 来获取的。

转载于:https://www.cnblogs.com/bianxirui/p/4503044.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值