相思资源网 Design By www.200059.com
这一段时间在学习web前端,最近学了jQuery库,深感其强大,下面通过写购物车的下拉框做法,把自己的理解和大家交流一下,欢迎各位大神指点指正,废话不多说,开始正题:
购物车html:
<!-- 购物车 start --> <div class="shopping" id="shopping-box"> <a href="" id="shoptext"><i class="iconfont"></i> 购物车(0)</a> <!-- 购物车下拉框 start--> <div class="shop" id="shop-content"> 购物车中还没有商品,赶紧选购吧! </div> <!-- 购物车下拉框 end--> </div> <!-- 购物车 end -->
刚开始学习原生js时候的写法:
//购物车下拉框 start var shoppingBoxNode = document.getElementById("shopping-box"); var shopContentNode = document.getElementById("shop-content"); var shoptext = document.getElementById("shoptext"); shoppingBoxNode.onmouseenter = function(){ shoptext.style.background = "#fff"; shoptext.style.color = "#ff6700"; shopContentNode.style.display = "block"; console.log("over"); }; shoppingBoxNode.onmouseleave = function(){ shoptext.style.background = ""; shoptext.style.color = ""; shopContentNode.style.display = ""; console.log("out"); }; //购物车下拉框 end
感觉很麻烦,而且还不好理解,下面用jQuery来写的:
//购物车 下拉 var interval1; $("#shopping-box").mouseenter(function(){ clearTimeout(interval1); $(this).children().first().css({"color":"#ff6700","background":"#fff"}); $(this).children().last().stop(true,true).slideDown(); }).mouseleave(function(){ var self = $(this); interval1 = setTimeout(function(){ self.children().first().removeAttr("style"); },700); $(this).children().last().delay(200).slideUp(); });
这个看着就干净利落的多,相对的减少了代码量,这里面事件使用应用链的写法,而且jQuery的方法的兼容问题基本上在其内被都已经被解决了,这点真是让前端的工作量减少了很多,用原生的时候调兼容调的头都快炸了(大家都懂的。。。),里面用到了jQuery中的延时delay和停止动画stop来处理(很好用的两个函数),当鼠标移动过快出现的问题
这里面事件的写法当然也可以用下面的方法(on也可以用bind来替换):
//购物车 下拉 var interval1; $("#shopping-box").on({ mouseenter:function(){ }, mouseleave:function(){ } });
以上所述是小编给大家介绍的jQuery实现鼠标经过购物车出现下拉框 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无jQuery实现鼠标经过购物车出现下拉框代码(推荐)的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。