1
所以我已经在Javascript/jQuery中完成了这个小小的自动幻灯片演示。它工作得很好,但我无法弄清楚如何按照屏幕尺寸缩放它,使其变得流畅。它目前已针对1920x1080进行了优化。如何通过浏览器大小来调整Javascript幻灯片大小
我试着将这个值(document.body.style.width)分配给宽度变量没有运气,尝试使用百分比而不是像素,并尝试使用非常黑客修复与媒体查询所有徒劳无功。
如果任何人有我怎么可能做到这一点要告诉一个想法(再次,我需要它的浏览器窗口缩放),总之,这里的代码:
<div class="slider">
<ul class="slides">
<li class="slide"><img src="index/showcase.png" alt="#"/></li>
<li class="slide"><img src="index/pic4.png" alt="#"/></li>
<li class="slide"><img src="index/pic3.png" alt="#"/></li>
<li class="slide"><img src="index/pic5.png" alt="#"/></li>
<li class="slide"><img src="index/pic6.png" alt="#"/></li>
</ul>
</div>
.slider {
width: 1920px;
height: 780px;
overflow: hidden;
}
.slider .slides {
display: block;
width: 9600px;
height: 780px;
margin: 0;
padding: 0;
}
.slider .slide {
float: left;
list-style-type: none;
width: 1920px;
height: 780px;
}
<script type="text/javascript">
var myInterval = setInterval(function() {
console.log(new Date());
}, 1000);
</script>
<script type="text/javascript">
$(function() {
//configuration
var width = 1920;
var animationSpeed = 1000;
var pause = 4000;
var currentSlide = 1;
//cache DOM
var $slider = $('.slider');
var $slideContainer = $slider.find('.slides');
var $slides = $slideContainer.find('.slide');
var interval;
function startSlider() {
interval = setInterval(function() {
$slideContainer.animate({'margin-left': '-='+width}, animationSpeed,
function(){
currentSlide++;
if (currentSlide === $slides.length) {
currentSlide = 1;
$slideContainer.css('margin-left', 0);
}
});
}, pause);
}
// function stopSlider() {
// clearInterval(interval);
//}
//$slider.on('mouseenter', startSlider).on('mouseleave', startSlider);
startSlider();
});
</script>
尝试使用vw和vh,似乎没有工作。谢谢你尝试。 –
https://jsbin.com/wipulapero/1/edit?html,js输出似乎工作得很好。主幻灯片div的大小与使用vw和vh的盒子大小相同。 –
只是现在试了一下,效果很好,我不知道上次发生了什么大声笑,谢谢。 –