javascript - js的背景浮动特效求问!!
黄舟
黄舟 2017-04-11 12:36:35
[JavaScript讨论组]

类似天猫的一个导航背景浮动特效不知道为什么,写的JS函数没有反应,网上看了很多方法都没用,感觉应该是概念上的问题,无法解决,还有就是jq里有fadeIn这样的渐变,js应该怎么实现呢,求解答。感谢





无标题文档




 

商品分类

天猫会员 品牌街 电器城 营业厅 飞猪旅行 苏宁易购

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
巴扎黑

先打开控制台看看报错信息

document.getElementsByClassName("shopNavright").document.getElementsByTagName('a');

看看这写的都是啥,很多报错信息。
点击这里,去查各种获取元素的api的正确用法。
自己先修改下。

补充:其实天猫的是纯css写的;
然后你上面的js目前是能跑的;
css

#shopNav{
    position: absolute;
    left: 100px;
    top: 100px;
}
.hover{
    background-color: red;
    /*width: 50px;*/
    height: 40px;
    line-height: 40px;
}
.hover .cat{
    position: absolute;
    top:0;
    left: 15%;
    width: 70%;
    height: 10px;
    transition: all .4s;
    translateY(0px);
    background-color: red;
    opacity: 0;
}
.hover:hover .cat{
    transform: translateY(-10px);
    opacity: 1;
}

html

<p id="shopNav">
   <p class="hover">
       天猫会员
       <p class="cat" data="我是小猫头">
           
       </p>
   </p>
 </p>

用js的话也是不使用hover,直接添加包含这个的transform: ranslateY(-10px);opacity: 1;的类,触发transition过渡,jQuery的一样,只是不是通过添加类名而是通过添加和删除内联样式触发过渡。

ringa_lee
<script type="text/javascript">
  window.onload=function(){ 
 var catEar=document.getElementsByName("catEar");
 var catEarTop=catEar.offsetTop;
 var catEarLeft=catEar.offsetLeft;
 var as = document.getElementsByTagName('a');
 for(var i=0;i<as.length;i++){
      as[i].index=i;
      as[i].onmouseover=function(){
        catEarTop="200px";    //自己尝试的各种方法= =
        catEarLeft="200px";
      }
     }
}
</script>

朋友我帮你修改到这一步了,还有点问题,自己试着改下...

和楼上的朋友一样,建议你学习用Chrome console学会调试代码。

题外话:

原生写完这个后,学习一下jquery,原生js操作DOM有点费劲的。

像这样天猫特效我认为用css就可以完全实现,加一个hover就可以了。

看来你对动画蛮感兴趣,推荐你学习两个动画库,animate.cssh和velocity.js。

朋友,加油。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号