问题杂烩(scrollTop/背景透明度动画)

今天给同学找我帮忙写js,是公司里的活。。我是不是应该跟他要钱哈哈,不过一顿饭肯定是免不了的了。

言归正传,今天写了三个小东西,因为兼容性的问题,用jq写的(很是别扭的说,但是没办法啊,一边看api一边写来着)

第一个问题是个简单的动画问题,没啥可说的。

第二个问题是要给常用的导航栏hover效果加个背景颜色渐变的动画。具体来说就是本来是鼠标移上去加上背景色,移除消除背景色,本来css加个hover背景色就解决的问题,需求非要让背景色添加/移除加上动画渐变。本来以为直接在backgroundColor上写动画就行了,从蓝色到白色,结果一查才知道jq是不支持背景颜色动画的,其实也是,因为动画的每个节点的颜色都是要变的,其中的函数需要另外去写(听说是有相关插件的,不过不到迫不得已我是不会用插件的,宁愿自己写。。)。然后又想到只要调透明度就行了呗,0到1。但是问题又来了,opacity属性是调这个元素的透明度的,而实际需要让文字一直显示。于是想到rgba来设置背景透明度,但是rgba本身是个css3效果,而且jq好像也没听说可以把rgba做成动画的。所以用了一个特别笨的办法,把文字和背景放在两个div里。让放背景的div透明度变化。如果亲们有其他的方法请不吝赐教。

第三个问题是关于定位的问题的,一个弹窗根据点击位置出现。在用jq的时候想到了之前一直忽略的问题。开始的时候获取div的scroll高度我写法是$(div).scrollTop写完了发现一直是0,才想到以前写scroll都是写body/htmlElement.scrollTop的。。查了下才知道,如果div没有滚动条的话,scroll就是0。

写的有点乱,先去吃饭了。。

 

posted @ 2016-04-09 18:43  三小胖  阅读(254)  评论(0编辑  收藏  举报