為什么我的setTimeout沒有延遲效果啊
/**
* Created by Administrator on 2017/5/15.
*/
$(document).ready(function () {
? ?var sub = $('#sub')
? ?var activeRow
? ?var activeMenu
? ?
? ?var timer
? ?var mouseInSub = false
? ?sub.on('mouseenter',function (e) {
? ? ? ?mouseInSub = true
? ?}).on('mouseleave',function (e) {
? ? ? ?mouseInSub = false
? ?})
? ?$('#test')
? ? ? ?.on('mouseleave','li',function (e) {
? ? ? ? ? ?sub.addClass('none')
? ? ? ? ? ?if(activeRow){
? ? ? ? ? ? ? ?activeRow.removeClass('active')
? ? ? ? ? ? ? ?activeRow=null
? ? ? ? ? ?}
? ? ? ? ? ?if(activeMenu){
? ? ? ? ? ? ? ?activeMenu.addClass('none')
? ? ? ? ? ? ? ?activeMenu=null
? ? ? ? ? ?}
? ? ? ?})
? ? ? ?.on('mouseenter','li',function (e) {
? ? ? ? ? ?sub.removeClass('none')
? ? ? ? ? ?if(!activeRow){
? ? ? ? ? ? ? ?activeRow=$(e.target).addClass('active')
? ? ? ? ? ? ? ?activeMenu = $('#' + activeRow.data('id'))
? ? ? ? ? ? ? ?activeMenu.removeClass('none')
? ? ? ? ? ? ? ?return
? ? ? ? ? ?}
? ? ? ? ? ?timer = setTimeout(function () {
? ? ? ? ? ? ? ?if(mouseInSub){
? ? ? ? ? ? ? ? ? ?return
? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?activeRow.removeClass('active')
? ? ? ? ? ? ? ?activeMenu.addClass('none')
? ? ? ? ? ? ? ?activeRow = $(e.target)
? ? ? ? ? ? ? ?activeRow.addClass('active')
? ? ? ? ? ? ? ?activeMenu = $('#' + activeRow.data('id'))
? ? ? ? ? ? ? ?activeMenu.removeClass('none')
? ? ? ? ? ?},3000)
? ? ? ?})
});
2017-11-03
https://github.com/ccccccl/JD-has-no-delayed-menu?
?代碼不完全一樣,根據(jù)理解實(shí)現(xiàn)了功能。歡迎點(diǎn)贊。
2017-11-03
https://github.com/ccccccl/JD-has-no-delayed-menu?
?代碼不完全一樣,根據(jù)理解實(shí)現(xiàn)了功能。歡迎點(diǎn)贊。
2017-05-24
setInterval才是在函數(shù)外面進(jìn)行調(diào)用,setTimeout要調(diào)用必須放在函數(shù)里面,這樣頁(yè)面加載函數(shù)時(shí),定時(shí)器才會(huì)生效
不知我說的對(duì)不對(duì),自己思考一下