大屏 列表上下滚动 插件 liMarquee – jQuery

time = (fullS / strWrap.data(‘scrollamount’)) * 1000;

if (parseFloat(strMove.css(‘left’)) != 0) {

fullS = (fullS + strWrap.width());

time = (fullS - (strWrap.width() - parseFloat(strMove.css(‘left’)))) / strWrap.data(‘scrollamount’) * 1000;

}

return time;

},

moveFuncId1 = false,

moveFunc1 = function () {

if (loop != 0) {

strMove.stop(true).animate({

left: leftPos

}, timeFunc1(), ‘linear’, function () {

$(this).css({

left: strWrap.width()

});

if (loop == -1) {

moveFuncId1 = setTimeout(moveFunc1, p.scrolldelay);

} else {

loop–;

moveFuncId1 = setTimeout(moveFunc1, p.scrolldelay);

}

});

}

};

strWrap.data({

moveId: moveFuncId1 ,

moveF : moveFunc1

})

if(!p.inverthover){

moveFunc1();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

clearTimeout(moveFuncId1);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc1();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragLeft;

var dir = 1;

var newX;

var oldX = e.clientX;

//drag

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newX = e.clientX;

if(newX > oldX){

dir = 1

}else{

dir = -1

}

oldX = newX

dragLeft = k1 + (e.clientX - strWrap.offset().left);

if (!p.circular) {

if(dragLeft < -strMove.width() && dir < 0){

dragLeft = strWrap.width();

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

if(dragLeft > strWrap.width() && dir > 0){

dragLeft = -strMove.width();

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

}else{

if(dragLeft < -strMove.width() && dir < 0){

dragLeft = 0;

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

if(dragLeft > 0 && dir > 0){

dragLeft = -strMove.width();

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

}

strMove.stop(true).css({

left: dragLeft

});

//drag

}).on(‘mouseup’, function () {

$(this).off(‘mousemove’);

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

if (p.runshort) {

strMove.css({

left: strWrap.width()

});

var

strMoveLeft = strWrap.width(),

k1 = 0,

timeFunc = function () {

time = (strMove.width() + strMove.position().left) / strWrap.data(‘scrollamount’) * 1000;

return time;

};

var moveFunc = function () {

var leftPos = -strMove.width();

strMove.animate({

left: leftPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

left: strWrap.width()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

}

});

};

strWrap.data({

moveF : moveFunc

})

if(!p.inverthover){

moveFunc();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragLeft;

var dir = 1;

var newX;

var oldX = e.clientX;

//drag

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newX = e.clientX;

if(newX > oldX){

dir = 1

}else{

dir = -1

}

oldX = newX

dragLeft = k1 + (e.clientX - strWrap.offset().left);

if(dragLeft < -strMove.width() && dir < 0){

dragLeft = strWrap.width();

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

if(dragLeft > strWrap.width() && dir > 0){

dragLeft = -strMove.width();

strMoveLeft = strMove.position().left;

k1 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

strMove.stop(true).css({

left: dragLeft

});

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

strWrap.addClass(‘str_static’);

}

};

};

if (p.direction == ‘right’) {

strWrap.height(strMove.outerHeight())

strWrap.addClass(‘str_right’);

strMove.css({

left: -strMove.width(),

right: ‘auto’

})

if (strMove.width() > strWrap.width()) {

var leftPos = strWrap.width();

strMove.css({

left: 0

})

if (p.circular) {

if (!p.xml) {

circCloneHor()

//Определяем крайнюю точку

leftPos = strMove.width();

}

}

var

k2 = 0;

timeFunc = function () {

var

fullS = strWrap.width(), //крайняя точка

time = (fullS / strWrap.data(‘scrollamount’)) * 1000; //время

if (parseFloat(strMove.css(‘left’)) != 0) {

fullS = (strMove.width() + strWrap.width());

time = (fullS - (strMove.width() + parseFloat(strMove.css(‘left’)))) / strWrap.data(‘scrollamount’) * 1000;

}

return time;

};

var moveFunc = function () {

if (loop != 0) {

strMove.animate({

left: leftPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

left: -strMove.width()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

};

strWrap.data({

moveF : moveFunc

})

if(!p.inverthover){

moveFunc();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragLeft;

var dir = 1;

var newX;

var oldX = e.clientX;

//drag

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newX = e.clientX;

if(newX > oldX){

dir = 1

}else{

dir = -1

}

oldX = newX

dragLeft = k2 + (e.clientX - strWrap.offset().left);

if (!p.circular) {

if(dragLeft < -strMove.width() && dir < 0){

dragLeft = strWrap.width();

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

if(dragLeft > strWrap.width() && dir > 0){

dragLeft = -strMove.width();

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

}else{

if(dragLeft < -strMove.width() && dir < 0){

dragLeft = 0;

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

if(dragLeft > 0 && dir > 0){

dragLeft = -strMove.width();

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

}

strMove.stop(true).css({

left: dragLeft

});

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

if (p.runshort) {

var k2 = 0;

var timeFunc = function () {

time = (strWrap.width() - strMove.position().left) / strWrap.data(‘scrollamount’) * 1000;

return time;

};

var moveFunc = function () {

var leftPos = strWrap.width();

strMove.animate({

left: leftPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

left: -strMove.width()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

strWrap.data({

moveF : moveFunc

})

if(!p.inverthover){

moveFunc();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragLeft;

var dir = 1;

var newX;

var oldX = e.clientX;

//drag

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newX = e.clientX;

if(newX > oldX){

dir = 1

}else{

dir = -1

}

oldX = newX

dragLeft = k2 + (e.clientX - strWrap.offset().left);

if(dragLeft < -strMove.width() && dir < 0){

dragLeft = strWrap.width();

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

if(dragLeft > strWrap.width() && dir > 0){

dragLeft = -strMove.width();

strMoveLeft = strMove.position().left;

k2 = strMoveLeft - (e.clientX - strWrap.offset().left);

}

strMove.stop(true).css({

left:dragLeft

});

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

strWrap.addClass(‘str_static’);

}

};

};

if (p.direction == ‘up’) {

strWrap.addClass(‘str_vertical’);

if (strMove.height() > strWrap.height()) {

var topPos = -strMove.height();

if (p.circular) {

if (!p.xml) {

circCloneVert();

topPos = -(strMove.height() + (strMove.height() - strWrap.height()));

}

}

if (p.xml) {

strMove.css({

top:strWrap.height()

})

}

var

k2 = 0;

timeFunc = function () {

var

fullS = Math.abs(topPos),

time = (fullS / strWrap.data(‘scrollamount’)) * 1000;

if (parseFloat(strMove.css(‘top’)) != 0) {

fullS = (fullS + strWrap.height());

time = (fullS - (strWrap.height() - parseFloat(strMove.css(‘top’)))) / strWrap.data(‘scrollamount’) * 1000;

}

return time;

};

var moveFunc = function () {

if (loop != 0) {

strMove.animate({

top: topPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

top: strWrap.height()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

};

strWrap.data({

moveF : moveFunc

})

if(!p.inverthover){

moveFunc();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragTop;

var dir = 1;

var newY;

var oldY = e.clientY;

//drag

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newY = e.clientY;

if(newY > oldY){

dir = 1

}else{

if(newY < oldY){

dir = -1

}

}

oldY = newY

dragTop = k2 + e.clientY - strWrap.offset().top;

if (!p.circular){

if(dragTop < -strMove.height() && dir < 0){

dragTop = strWrap.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

if(dragTop > strWrap.height() && dir > 0){

dragTop = -strMove.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

}else{

if(dragTop < -strMove.height() && dir < 0){

dragTop = 0;

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

if(dragTop > 0 && dir > 0){

dragTop = -strMove.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

}

strMove.stop(true).css({

top: dragTop

});

//drag

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

if (p.runshort) {

strMove.css({

top: strWrap.height()

});

var k2 = 0;

var timeFunc = function () {

time = (strMove.height() + strMove.position().top) / strWrap.data(‘scrollamount’) * 1000;

return time;

};

var moveFunc = function () {

var topPos = -strMove.height();

strMove.animate({

top: topPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

top: strWrap.height()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

strWrap.data({

moveF : moveFunc

})

if(!p.inverthover){

moveFunc();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragTop;

var dir = 1;

var newY;

var oldY = e.clientY;

//drag

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newY = e.clientY;

if(newY > oldY){

dir = 1

}else{

if(newY < oldY){

dir = -1

}

}

oldY = newY

dragTop = k2 + e.clientY - strWrap.offset().top;

if(dragTop < -strMove.height() && dir < 0){

dragTop = strWrap.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

if(dragTop > strWrap.height() && dir > 0){

dragTop = -strMove.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

//*drag

strMove.stop(true).css({

top: dragTop

});

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

strWrap.addClass(‘str_static’);

}

};

};

if (p.direction == ‘down’) {

strWrap.addClass(‘str_vertical’).addClass(‘str_down’);

strMove.css({

top: -strMove.height(),

bottom: ‘auto’

})

if (strMove.height() > strWrap.height()) {

var topPos = strWrap.height();

if (p.circular) {

if (!p.xml) {

circCloneVert();

topPos = strMove.height();

}

}

if (p.xml) {

strMove.css({

top:-strMove.height()

})

}

var

k2 = 0;

timeFunc = function () {

var

fullS = strWrap.height(), //крайняя точка

time = (fullS / strWrap.data(‘scrollamount’)) * 1000; //время

if (parseFloat(strMove.css(‘top’)) != 0) {

fullS = (strMove.height() + strWrap.height());

time = (fullS - (strMove.height() + parseFloat(strMove.css(‘top’)))) / strWrap.data(‘scrollamount’) * 1000;

}

return time;

};

var moveFunc = function () {

if (loop != 0) {

strMove.animate({

top: topPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

top: -strMove.height()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

};

strWrap.data({

moveF : moveFunc

})

if(!p.inverthover){

moveFunc();

}

if (p.hoverstop) {

strWrap.on(enterEvent, function () {

$(this).addClass(‘str_active’);

strMove.stop(true);

}).on(leaveEvent, function () {

$(this).removeClass(‘str_active’);

$(this).off(‘mousemove’);

moveFunc();

});

if (p.drag) {

strWrap.on(‘mousedown’, function (e) {

if(p.inverthover){

strMove.stop(true);

}

//drag

var dragTop;

var dir = 1;

var newY;

var oldY = e.clientY;

//drag

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

$(this).on(‘mousemove’, function (e) {

fMove = true;

//drag

newY = e.clientY;

if(newY > oldY){

dir = 1

}else{

if(newY < oldY){

dir = -1

}

}

oldY = newY

dragTop = k2 + e.clientY - strWrap.offset().top;

if (!p.circular){

if(dragTop < -strMove.height() && dir < 0){

dragTop = strWrap.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

if(dragTop > strWrap.height() && dir > 0){

dragTop = -strMove.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

}else{

if(dragTop < -strMove.height() && dir < 0){

dragTop = 0;

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

if(dragTop > 0 && dir > 0){

dragTop = -strMove.height();

strMoveTop = strMove.position().top;

k2 = strMoveTop - (e.clientY - strWrap.offset().top);

}

}

strMove.stop(true).css({

top: dragTop

});

//drag

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

if (p.runshort) {

var k2 = 0;

var timeFunc = function () {

time = (strWrap.height() - strMove.position().top) / strWrap.data(‘scrollamount’) * 1000;

return time;

};

var moveFunc = function () {

var topPos = strWrap.height();

strMove.animate({

top: topPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

top: -strMove.height()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

strWrap.data({

moveF : moveFunc

})

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里领取

前端面试题宝典

前端校招面试题详解

op(true).css({

top: dragTop

});

//drag

}).on(‘mouseup’, function () {

if(p.inverthover){

strMove.trigger(‘mouseenter’)

}

$(this).off(‘mousemove’);

setTimeout(function () {

fMove = false

}, 50)

});

return false;

})

.on(‘click’, function () {

if (fMove) {

return false

}

});

} else {

strWrap.addClass(‘no_drag’);

};

}

} else {

if (p.runshort) {

var k2 = 0;

var timeFunc = function () {

time = (strWrap.height() - strMove.position().top) / strWrap.data(‘scrollamount’) * 1000;

return time;

};

var moveFunc = function () {

var topPos = strWrap.height();

strMove.animate({

top: topPos

}, timeFunc(), ‘linear’, function () {

$(this).css({

top: -strMove.height()

});

if (loop == -1) {

setTimeout(moveFunc, p.scrolldelay);

} else {

loop–;

setTimeout(moveFunc, p.scrolldelay);

};

});

};

strWrap.data({

moveF : moveFunc

})

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-FD9FSoJ2-1712679289358)]

[外链图片转存中…(img-feUBOolH-1712679289359)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-xeYVxlmc-1712679289359)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里领取

[外链图片转存中…(img-sgaVGIAv-1712679289359)]

[外链图片转存中…(img-zf6paT1V-1712679289360)]

[外链图片转存中…(img-qXqmw9OE-1712679289360)]

  • 26
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值