带有间隔的 Jquery 滑块在屏幕分辨率更改时加快速度
Jquery slider with interval speeds up when screen resolution changes
所以我的滑块工作得很好; 切换 3 秒,当我将鼠标悬停在它上面或单击箭头时停止。 然后,如果我不理会它,它会重新启动。
一切正常。
但是,当我更改分辨率以处理响应能力时,开始加速并且不响应鼠标悬停。
$var main = function(){
$('.dropdown-toggle').click(function(){
$('.dropdown-menu').toggle();
});
$('.arrow-next').click(function(){
var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
if(nextSlide.length == 0){
nextSlide = $('.slide').first();
};
currentSlide.fadeOut(600).removeClass('active-slide');
nextSlide.fadeIn(600).addClass('active-slide');
var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextDot.length == 0){
nextDot = $('.dot').first();
};
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
});
};
$('.arrow-prev').click(function(){
currentSlide = $('.active-slide');
prevSlide = currentSlide.prev();
if(prevSlide.length == 0){
prevSlide = $('.slide').last();
};
currentSlide.fadeOut(600).removeClass('active-slide');
prevSlide.fadeIn(600).addClass('active-slide');
var currentDot = $('.active-dot');
var prevDot = currentDot.prev();
if(prevDot.length == 0){
prevDot = $('.dot').last();
};
currentDot.removeClass('active-dot');
prevDot.addClass('active-dot');
});
$(document).ready(main);
$(document).ready( function() {
var auto = setInterval(function() {
var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
if(nextSlide.length == 0){
nextSlide = $('.slide').first();
};
currentSlide.fadeOut(600).removeClass('active-slide');
nextSlide.fadeIn(600).addClass('active-slide');
var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextDot.length == 0){
nextDot = $('.dot').first();
};
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
}, 3000);
$('.slider, .arrow-prev, .arrow-next').mouseover(function(){
clearInterval(auto);
}).mouseout(function(){
var auto = setInterval(function() {
var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
if(nextSlide.length == 0){
nextSlide = $('.slide').first();
};
currentSlide.fadeOut(600).removeClass('active-slide');
nextSlide.fadeIn(600).addClass('active-slide');
var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextDot.length == 0){
nextDot = $('.dot').first();
};
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
}, 3000);
})
});
我想通了...因为我在函数中声明了"var",所以它是一个非全局变量,所以它堆叠在一起。现在我在函数外部添加了 var auto,并在函数内部删除了 var,它可以完美地调整大小;最小化,一切都:D
大约 3 周前我开始研究 js 和 jquery,之前有 0 个知识,所以我的代码可能是......怎么说呢...废话!但至少我很高兴我想通了这个!
我欢迎有关此滑块的一般建议。
相关文章:
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- Wacom stu-430签名捕获速度太慢
- 检测图像分辨率
- 如何在速度模板中获取LiferayPortlet实例id
- 我想放慢html中进程栏的速度
- Knockout绑定大量数据的速度较慢
- Wordpress:未捕获引用错误:未定义速度
- 即使光标位于屏幕边缘,也可以跟踪鼠标速度
- Css优化谷歌页面速度洞察
- fullcalendar在删除导致浏览器挂起的多个事件时速度较慢
- 如何根据分辨率添加像素
- 录制速度javascript
- 在不同的屏幕和分辨率上跟踪鼠标并将其关联起来
- Javascript图像数组预加载速度和从内存中删除
- 谷歌地图多边形减慢浏览器速度
- 悬停时显示更高分辨率的图像
- nodejs/ccurlhttp请求与postlerrest客户端相比速度较慢
- 根据屏幕分辨率显示自定义背景图像
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 带有间隔的 Jquery 滑块在屏幕分辨率更改时加快速度