jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過購(gòu)物車出現(xiàn)下拉框代碼(推薦)
這一段時(shí)間在學(xué)習(xí)web前端,最近學(xué)了jQuery庫(kù),深感其強(qiáng)大,下面通過寫購(gòu)物車的下拉框做法,把自己的理解和大家交流一下,歡迎各位大神指點(diǎn)指正,廢話不多說,開始正題:
購(gòu)物車html:
<!-- 購(gòu)物車 start --> <div class="shopping" id="shopping-box"> <a href="" id="shoptext"><i class="iconfont"></i> 購(gòu)物車(0)</a> <!-- 購(gòu)物車下拉框 start--> <div class="shop" id="shop-content"> 購(gòu)物車中還沒有商品,趕緊選購(gòu)吧! </div> <!-- 購(gòu)物車下拉框 end--> </div> <!-- 購(gòu)物車 end -->
剛開始學(xué)習(xí)原生js時(shí)候的寫法:
//購(gòu)物車下拉框 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");
};
//購(gòu)物車下拉框 end
感覺很麻煩,而且還不好理解,下面用jQuery來寫的:
//購(gòu)物車 下拉
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();
});
這個(gè)看著就干凈利落的多,相對(duì)的減少了代碼量,這里面事件使用應(yīng)用鏈的寫法,而且jQuery的方法的兼容問題基本上在其內(nèi)被都已經(jīng)被解決了,這點(diǎn)真是讓前端的工作量減少了很多,用原生的時(shí)候調(diào)兼容調(diào)的頭都快炸了(大家都懂的。。。),里面用到了jQuery中的延時(shí)delay和停止動(dòng)畫stop來處理(很好用的兩個(gè)函數(shù)),當(dāng)鼠標(biāo)移動(dòng)過快出現(xiàn)的問題
這里面事件的寫法當(dāng)然也可以用下面的方法(on也可以用bind來替換):
//購(gòu)物車 下拉
var interval1;
$("#shopping-box").on({
mouseenter:function(){
},
mouseleave:function(){
}
});
以上所述是小編給大家介紹的jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過購(gòu)物車出現(xiàn)下拉框 ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- jquery實(shí)現(xiàn)圖片列表鼠標(biāo)移入微動(dòng)
- jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過時(shí)高亮,同時(shí)其他同級(jí)元素變暗的效果
- jQuery實(shí)現(xiàn)鼠標(biāo)選中文字后彈出提示窗口效果【附demo源碼】
- 使用jQuery或者原生js實(shí)現(xiàn)鼠標(biāo)滾動(dòng)加載頁(yè)面新數(shù)據(jù)
- jQuery實(shí)現(xiàn)滾動(dòng)鼠標(biāo)放大縮小圖片的方法(附demo源碼下載)
- jquery實(shí)現(xiàn)鼠標(biāo)懸浮停止輪播特效
- jQuery移動(dòng)頁(yè)面開發(fā)中的觸摸事件與虛擬鼠標(biāo)事件簡(jiǎn)介
- jQuery實(shí)現(xiàn)仿QQ空間裝扮預(yù)覽圖片的鼠標(biāo)提示效果代碼
- jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過時(shí)出現(xiàn)隱藏層文字鏈接的方法
- JQuery獲取鼠標(biāo)進(jìn)入和離開容器的方向
相關(guān)文章
jQuery實(shí)現(xiàn)簡(jiǎn)單下拉導(dǎo)航效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)簡(jiǎn)單下拉導(dǎo)航效果,通過簡(jiǎn)單的元素遍歷與樣式替換實(shí)現(xiàn)下拉導(dǎo)航的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-09-09
Asp.net下利用Jquery Ajax實(shí)現(xiàn)用戶注冊(cè)檢測(cè)(驗(yàn)證用戶名是否存)
最近在朋友做個(gè)網(wǎng)站http://www.smarteas.net/,其中用實(shí)現(xiàn)用戶注冊(cè)這功能,最近網(wǎng)站做到了尾聲,我也就把其它有些技術(shù)和大家分享一下。2010-09-09
jquery實(shí)現(xiàn)當(dāng)滑動(dòng)到一定位置時(shí)固定效果
這篇文章主要介紹了jquery實(shí)現(xiàn)當(dāng)滑動(dòng)到一定位置時(shí)固定效果,需要的朋友可以參考下2014-06-06
使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能,非常具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
jQuery實(shí)現(xiàn)動(dòng)態(tài)粒子效果
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)粒子效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
JQuery實(shí)現(xiàn)鼠標(biāo)移動(dòng)圖片顯示描述層的方法
這篇文章主要介紹了JQuery實(shí)現(xiàn)鼠標(biāo)移動(dòng)圖片顯示描述層的方法,涉及jQuery鼠標(biāo)事件及動(dòng)畫效果的使用技巧,需要的朋友可以參考下2015-06-06
EasyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼
今天做項(xiàng)目的時(shí)候,想在easyui的datagrid每一列數(shù)據(jù)后邊都加上一個(gè)操作按鈕,怎么實(shí)現(xiàn)此功能呢?下面小編給大家?guī)砹薊asyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼,需要的朋友參考下吧2017-08-08

